python类executeJSONRPC()的实例源码

kodiutils.py 文件源码 项目:screensaver.kaster 作者: enen92 项目源码 文件源码 阅读 18 收藏 0 点赞 0 评论 0
def kodi_json_request(params):
    data = json.dumps(params)
    request = xbmc.executeJSONRPC(data)

    try:
        response = json.loads(request)
    except UnicodeDecodeError:
        response = json.loads(request.decode('utf-8', 'ignore'))

    try:
        if 'result' in response:
            return response['result']
        return None
    except KeyError:
        log("[%s] %s" %
                    (params['method'], response['error']['message']),level=xbmc.LOGWARNING)
        return None
utils.py 文件源码 项目:script.skin.helper.skinbackup 作者: marcelveldt 项目源码 文件源码 阅读 19 收藏 0 点赞 0 评论 0
def kodi_json(jsonmethod, params=None):
    '''get info from the kodi json api'''
    import json
    kodi_json = {}
    kodi_json["jsonrpc"] = "2.0"
    kodi_json["method"] = jsonmethod
    if not params:
        params = {}
    kodi_json["params"] = params
    kodi_json["id"] = 1
    json_response = xbmc.executeJSONRPC(json.dumps(kodi_json).encode("utf-8"))
    json_object = json.loads(json_response.decode('utf-8', 'replace'))
    result = None
    if 'result' in json_object:
        # look for correct returntype
        if isinstance(json_object['result'], dict):
            for key, value in json_object['result'].iteritems():
                if not key == "limits":
                    result = value
                    break
        else:
            return json_object['result']
    return result
common.py 文件源码 项目:konsodi 作者: kharts 项目源码 文件源码 阅读 19 收藏 0 点赞 0 评论 0
def JSONRPC(method, params={}):
    """
    Execute JSON-RPC method
    :param method: name of the method. Example "Input.Back"
    :type method: str
    :param params: dictionary with parameter values
    :type params: dict
    :return: response as a string or None (in case of exception)
    :rtype: str or None
    """

    data = {
        "jsonrpc": "2.0",
        "id": 1,
        "method": method,
        "params": params
    }

    command = json.dumps(data)

    try:
        response = xbmc.executeJSONRPC(command)
    except Exception, e:
        log_exception("Error executing JSON RPC method " + method)
        log_exception("Params: " + str(params))
        log_exception(str(e))
        return None
    return response
Utils.py 文件源码 项目:plugin.video.telekom-sport 作者: asciidisco 项目源码 文件源码 阅读 25 收藏 0 点赞 0 评论 0
def get_kodi_version(cls):
        """
        Retrieves the Kodi version (Defaults to 17)

        :returns:  string - Kodi version
        """
        version = 17
        payload = {
            'jsonrpc': '2.0',
            'method': 'Application.GetProperties',
            'params': {
                'properties': ['version', 'name']
            },
            'id': 1
        }
        response = xbmc.executeJSONRPC(json.dumps(payload))
        responses_uni = unicode(response, 'utf-8', errors='ignore')
        response_serialized = json.loads(responses_uni)
        if 'error' not in response_serialized.keys():
            result = response_serialized.get('result', {})
            version_raw = result.get('version', {})
            version = version_raw.get('major', 17)
        return version
Utils.py 文件源码 项目:plugin.video.telekom-sport 作者: asciidisco 项目源码 文件源码 阅读 18 收藏 0 点赞 0 评论 0
def get_inputstream_version(cls):
        """
        Retrieves the Inputsteam version (Defaults to 1.0.0)

        :returns:  string - Inputsteam version
        """
        payload = {
            'jsonrpc': '2.0',
            'id': 1,
            'method': 'Addons.GetAddonDetails',
            'params': {
                'addonid': 'inputstream.adaptive',
                'properties': ['enabled', 'version']
            }
        }
        # execute the request
        response = xbmc.executeJSONRPC(json.dumps(payload))
        responses_uni = unicode(response, 'utf-8', errors='ignore')
        response_serialized = json.loads(responses_uni)
        if 'error' not in response_serialized.keys():
            result = response_serialized.get('result', {})
            addon = result.get('addon', {})
            if addon.get('enabled', False) is True:
                return addon.get('version', '1.0.0')
        return '1.0.0'
control.py 文件源码 项目:plugin.video.brplay 作者: olavopeixoto 项目源码 文件源码 阅读 26 收藏 0 点赞 0 评论 0
def get_inputstream_addon():
    """Checks if the inputstream addon is installed & enabled.
       Returns the type of the inputstream addon used and if it's enabled,
       or None if not found.
    Returns
    -------
    :obj:`tuple` of obj:`str` and bool, or None
        Inputstream addon and if it's enabled, or None
    """
    type = 'inputstream.adaptive'
    payload = {
        'jsonrpc': '2.0',
        'id': 1,
        'method': 'Addons.GetAddonDetails',
        'params': {
            'addonid': type,
            'properties': ['enabled']
        }
    }
    response = xbmc.executeJSONRPC(json.dumps(payload))
    data = json.loads(response)
    if 'error' not in data.keys():
        return type, data['result']['addon']['enabled']
    return None, None
kodiutils.py 文件源码 项目:plugin.kogumi 作者: XIAZY 项目源码 文件源码 阅读 18 收藏 0 点赞 0 评论 0
def kodi_json_request(params):
    data = json.dumps(params)
    request = xbmc.executeJSONRPC(data)

    try:
        response = json.loads(request)
    except UnicodeDecodeError:
        response = json.loads(request.decode('utf-8', 'ignore'))

    try:
        if 'result' in response:
            return response['result']
        return None
    except KeyError:
        logger.warn("[%s] %s" %
                    (params['method'], response['error']['message']))
        return None
koditalk.py 文件源码 项目:service.subtitles.brokensubs 作者: iamninja 项目源码 文件源码 阅读 19 收藏 0 点赞 0 评论 0
def get_details_from_player():
    """Docstring"""
    logging.debug("addictedutils.get_details_from_player() begin")
    # Create request
    request = {
        "jsonrpc": "2.0",
        "method": "Player.GetItem",
        "params": {
            "properties": [
                "showtitle",
                "season",
                "episode",
                "duration",
                "file"],
            "playerid": 1
        },
        "id": "VideoGetItem"
    }
    # Make request
    response = xbmc.executeJSONRPC(json.dumps(request))
    logging.debug("response: " + pretty_json(response))
    parsed_response = json.loads(response)['result']['item']
    logging.debug("parsed_response: " + json.dumps(parsed_response, indent=2, sort_keys=True))
    return parsed_response
kodiutils.py 文件源码 项目:service.subtitles.brokensubs 作者: iamninja 项目源码 文件源码 阅读 19 收藏 0 点赞 0 评论 0
def kodi_json_request(params):
    data = json.dumps(params)
    request = xbmc.executeJSONRPC(data)

    try:
        response = json.loads(request)
    except UnicodeDecodeError:
        response = json.loads(request.decode('utf-8', 'ignore'))

    try:
        if 'result' in response:
            return response['result']
        return None
    except KeyError:
        logger.warn("[%s] %s" %
                    (params['method'], response['error']['message']))
        return None
addon_old.py 文件源码 项目:service.subtitles.brokensubs 作者: iamninja 项目源码 文件源码 阅读 23 收藏 0 点赞 0 评论 0
def get_details_from_player():
  # Create request
  request = {
    "jsonrpc": "2.0",
    "method": "Player.GetItem",
    "params": {
      "properties": ["showtitle", "season", "episode", "duration", "file"],
      "playerid": 1
    },
    "id": "VideoGetItem"
  }
  # Make request
  response = xbmc.executeJSONRPC(json.dumps(request))
  print(response)
  parsed_response = json.loads(response)['result']['item']
  print("---------")
  print(parsed_response)
  print("---------")
  return parsed_response
addon.py 文件源码 项目:kodi-fsgo 作者: emilsvennesson 项目源码 文件源码 阅读 24 收藏 0 点赞 0 评论 0
def channel_to_favs(channel_name, channel_id):
    params = {
        'action': 'play_channel',
        'channel_id': channel_id,
    }

    cmd = {
        'jsonrpc': '2.0',
        'method': 'Favourites.AddFavourite',
        'params': {
            'title': channel_name,
            'type': 'media',
            'path': _url + '?' + urllib.urlencode(params)
        },
        'id': '1'
    }

    debug_dict = json.loads(xbmc.executeJSONRPC(json.dumps(cmd)))
    addon_log('channel_to_favs response: %s' % debug_dict)
xbmc_context.py 文件源码 项目:plugin.video.youtube 作者: jdf76 项目源码 文件源码 阅读 21 收藏 0 点赞 0 评论 0
def addon_enabled(self, addon_id):
        rpc_request = json.dumps({"jsonrpc": "2.0",
                                  "method": "Addons.GetAddonDetails",
                                  "id": 1,
                                  "params": {"addonid": "%s" % addon_id,
                                             "properties": ["enabled"]}
                                  })
        response = json.loads(xbmc.executeJSONRPC(rpc_request))
        try:
            return response['result']['addon']['enabled'] is True
        except KeyError:
            message = response['error']['message']
            code = response['error']['code']
            error = 'Requested |%s| received error |%s| and code: |%s|' % (rpc_request, message, code)
            xbmc.log(error, xbmc.LOGDEBUG)
            return False
xbmc_context.py 文件源码 项目:plugin.video.youtube 作者: jdf76 项目源码 文件源码 阅读 18 收藏 0 点赞 0 评论 0
def set_addon_enabled(self, addon_id, enabled=True):
        rpc_request = json.dumps({"jsonrpc": "2.0",
                                  "method": "Addons.SetAddonEnabled",
                                  "id": 1,
                                  "params": {"addonid": "%s" % addon_id,
                                             "enabled": enabled}
                                  })
        response = json.loads(xbmc.executeJSONRPC(rpc_request))
        try:
            return response['result'] == 'OK'
        except KeyError:
            message = response['error']['message']
            code = response['error']['code']
            error = 'Requested |%s| received error |%s| and code: |%s|' % (rpc_request, message, code)
            xbmc.log(error, xbmc.LOGDEBUG)
            return False
kodijsonrpc.py 文件源码 项目:plex-for-kodi-mod 作者: mrclemds 项目源码 文件源码 阅读 19 收藏 0 点赞 0 评论 0
def __getattr__(self, method):
        def handler(**kwargs):
            command = {
                'jsonrpc': '2.0',
                'id': 1,
                'method': '{0}.{1}'.format(self.family, method)
            }

            if kwargs:
                command['params'] = kwargs

            # xbmc.log(json.dumps(command))
            ret = json.loads(xbmc.executeJSONRPC(json.dumps(command)))

            if ret:
                if 'error' in ret:
                    raise self.Exception(ret['error'])
                else:
                    return ret['result']
            else:
                return None

        return handler
xbmc_context.py 文件源码 项目:plugin.video.youtube 作者: Kolifanes 项目源码 文件源码 阅读 22 收藏 0 点赞 0 评论 0
def addon_enabled(self, addon_id):
        rpc_request = json.dumps({"jsonrpc": "2.0",
                                  "method": "Addons.GetAddonDetails",
                                  "id": 1,
                                  "params": {"addonid": "%s" % addon_id,
                                             "properties": ["enabled"]}
                                  })
        response = json.loads(xbmc.executeJSONRPC(rpc_request))
        try:
            return response['result']['addon']['enabled'] is True
        except KeyError:
            message = response['error']['message']
            code = response['error']['code']
            error = 'Requested |%s| received error |%s| and code: |%s|' % (rpc_request, message, code)
            xbmc.log(error, xbmc.LOGDEBUG)
            return False
xbmc_context.py 文件源码 项目:plugin.video.youtube 作者: Kolifanes 项目源码 文件源码 阅读 20 收藏 0 点赞 0 评论 0
def set_addon_enabled(self, addon_id, enabled=True):
        rpc_request = json.dumps({"jsonrpc": "2.0",
                                  "method": "Addons.SetAddonEnabled",
                                  "id": 1,
                                  "params": {"addonid": "%s" % addon_id,
                                             "enabled": enabled}
                                  })
        response = json.loads(xbmc.executeJSONRPC(rpc_request))
        try:
            return response['result'] == 'OK'
        except KeyError:
            message = response['error']['message']
            code = response['error']['code']
            error = 'Requested |%s| received error |%s| and code: |%s|' % (rpc_request, message, code)
            xbmc.log(error, xbmc.LOGDEBUG)
            return False
service.py 文件源码 项目:soap4me-proxy 作者: eschava 项目源码 文件源码 阅读 24 收藏 0 点赞 0 评论 0
def get_episode_details(episode_id):
        postdata = json.dumps({"jsonrpc": "2.0",
                               "id": 1,
                               'method': 'VideoLibrary.GetEpisodeDetails',
                               "params": {
                                   'episodeid': episode_id,
                                   "properties": ["season", "episode", "tvshowid", "playcount", "file", "resume"]
                               }})
        json_query = xbmc.executeJSONRPC(postdata)
        json_query = unicode(json_query, 'utf-8', errors='ignore')
        json_query = json.loads(json_query)
        if 'error' in json_query:
            xbmc.log('%s: ERROR: %s' % (ADDONID, json_query['error']['stack']['message']))
            return None
        json_query = json_query['result']['episodedetails']
        return json_query
utils.py 文件源码 项目:script.service.bluray_iso_utils 作者: Wimpie-ccc 项目源码 文件源码 阅读 22 收藏 0 点赞 0 评论 0
def executeJSON(request):
    """Execute JSON-RPC Command

    Args:
        request: Dictionary with JSON-RPC Commands

    Found code in xbmc-addon-service-watchedlist
    """
    rpccmd = json.dumps(request) # create string from dict
    json_query = xbmc.executeJSONRPC(rpccmd)
    json_query = unicode(json_query, 'utf-8', errors='ignore')
    json_response = json.loads(json_query)  
    return json_response

# This class is the interface between the internal default settings and the user.
# The user adjust the settings to his/her likings in Kodi. This class will make
# sure that the addon knows that the user changed a setting.
kodi.py 文件源码 项目:context.youtube.download 作者: anxdpanic 项目源码 文件源码 阅读 18 收藏 0 点赞 0 评论 0
def execute_jsonrpc(command):
    if not isinstance(command, basestring):
        command = json.dumps(command)
    response = xbmc.executeJSONRPC(command)
    return json.loads(response)
thetvdb.py 文件源码 项目:script.module.thetvdb 作者: marcelveldt 项目源码 文件源码 阅读 18 收藏 0 点赞 0 评论 0
def _get_kodi_json(method, params):
        '''helper to get data from the kodi json database'''
        json_response = xbmc.executeJSONRPC('{ "jsonrpc": "2.0", "method" : "%s", "params": %s, "id":1 }'
                                            % (method, params.encode("utf-8")))
        jsonobject = json.loads(json_response.decode('utf-8', 'replace'))
        if 'result' in jsonobject:
            jsonobject = jsonobject['result']
        return jsonobject
default.py 文件源码 项目:catchup4kodi 作者: catchup4kodi 项目源码 文件源码 阅读 28 收藏 0 点赞 0 评论 0
def Kodi17():
    xbmc_version =  re.search('^(\d+)', xbmc.getInfoLabel( "System.BuildVersion" ))
    if xbmc_version:
        xbmc_version = int(xbmc_version.group(1))
    else:
        xbmc_version = 1

    if xbmc_version >= 16.9:
            dependencies = []

            import glob


            folder = xbmc.translatePath('special://home/addons/')

            for DEPEND in glob.glob(folder+'*.*'):
                try:dependencies.append(DEPEND.rsplit('\\', 1)[1])
                except:dependencies.append(DEPEND.rsplit('/', 1)[1])


            for THEPLUGIN in dependencies:

                query = '{"jsonrpc":"2.0", "method":"Addons.SetAddonEnabled","params":{"addonid":"%s","enabled":true}, "id":1}' % (THEPLUGIN)

                xbmc.executeJSONRPC(query)

            xbmc.executebuiltin('UpdateLocalAddons') 
            xbmc.executebuiltin("UpdateAddonRepos")
control.py 文件源码 项目:plugin.video.brplay 作者: olavopeixoto 项目源码 文件源码 阅读 28 收藏 0 点赞 0 评论 0
def getBandwidthLimit():
    json_result = xbmc.executeJSONRPC(
        '{"jsonrpc":"2.0","method":"Settings.GetSettingValue","params":{"setting":"network.bandwidth"},"id":1}')
    data_object = json.loads(json_result)
    return data_object['result']['value']
KodiHelper.py 文件源码 项目:plugin.video.netflix 作者: asciidisco 项目源码 文件源码 阅读 20 收藏 0 点赞 0 评论 0
def get_inputstream_addon(self):
        """Checks if the inputstream addon is installed & enabled.
           Returns the type of the inputstream addon used and if it's enabled,
           or None if not found.

        Returns
        -------
        :obj:`tuple` of obj:`str` and bool, or None
            Inputstream addon and if it's enabled, or None
        """
        is_type = 'inputstream.adaptive'
        is_enabled = False
        payload = {
            'jsonrpc': '2.0',
            'id': 1,
            'method': 'Addons.GetAddonDetails',
            'params': {
                'addonid': is_type,
                'properties': ['enabled']
            }
        }
        response = xbmc.executeJSONRPC(json.dumps(payload))
        data = json.loads(response)
        if 'error' not in data.keys():
            if isinstance(data.get('result'), dict):
                if isinstance(data.get('result').get('addon'), dict):
                    is_enabled = data.get('result').get('addon').get('enabled')
            return (is_type, is_enabled)
        return (None, is_enabled)
KodiHelper.py 文件源码 项目:plugin.video.netflix 作者: asciidisco 项目源码 文件源码 阅读 25 收藏 0 点赞 0 评论 0
def movietitle_to_id(self, title):
        query = {
            "jsonrpc": "2.0",
            "method": "VideoLibrary.GetMovies",
            "params": {
                "properties": ["title"]
            },
            "id": "libMovies"
        }
        try:
            rpc_result = xbmc.executeJSONRPC(
                jsonrpccommand=json.dumps(query, encoding='utf-8'))
            json_result = json.loads(rpc_result)
            if 'result' in json_result and 'movies' in json_result['result']:
                json_result = json_result['result']['movies']
                for movie in json_result:
                    # Switch to ascii/lowercase and remove special chars and spaces
                    # to make sure best possible compare is possible
                    titledb = movie['title'].encode('ascii', 'ignore')
                    titledb = re.sub(r'[?|$|!|:|#|\.|\,|\'| ]', r'', titledb).lower().replace('-', '')
                    if '(' in titledb:
                        titledb = titledb.split('(')[0]
                    titlegiven = title.encode('ascii','ignore')
                    titlegiven = re.sub(r'[?|$|!|:|#|\.|\,|\'| ]', r'', titlegiven).lower().replace('-', '')
                    if '(' in titlegiven:
                        titlegiven = titlegiven.split('(')[0]
                    if titledb == titlegiven:
                        return movie['movieid']
            return '-1'
        except Exception:
            return '-1'
KodiHelper.py 文件源码 项目:plugin.video.netflix 作者: asciidisco 项目源码 文件源码 阅读 26 收藏 0 点赞 0 评论 0
def showtitle_to_id(self, title):
        query = {
            "jsonrpc": "2.0",
            "method": "VideoLibrary.GetTVShows",
            "params": {
                "properties": ["title", "genre"]
            },
            "id": "libTvShows"
        }
        try:
            rpc_result = xbmc.executeJSONRPC(
                jsonrpccommand=json.dumps(query, encoding='utf-8'))
            json_result = json.loads(rpc_result)
            if 'result' in json_result and 'tvshows' in json_result['result']:
                json_result = json_result['result']['tvshows']
                for tvshow in json_result:
                    # Switch to ascii/lowercase and
                    # remove special chars and spaces
                    # to make sure best possible compare is possible
                    titledb = tvshow['label'].encode('ascii', 'ignore')
                    titledb = re.sub(
                        pattern=r'[?|$|!|:|#|\.|\,|\'| ]',
                        repl=r'',
                        string=titledb).lower().replace('-', '')
                    if '(' in titledb:
                        titledb = titledb.split('(')[0]
                    titlegiven = title.encode('ascii', 'ignore')
                    titlegiven = re.sub(
                        pattern=r'[?|$|!|:|#|\.|\,|\'| ]',
                        repl=r'',
                        string=titlegiven).lower().replace('-', '')
                    if '(' in titlegiven:
                        titlegiven = titlegiven.split('(')[0]
                    if titledb == titlegiven:
                        return tvshow['tvshowid'], tvshow['genre']
            return '-1', ''
        except Exception:
            return '-1', ''
KodiHelper.py 文件源码 项目:plugin.video.netflix 作者: asciidisco 项目源码 文件源码 阅读 25 收藏 0 点赞 0 评论 0
def get_show_content_by_id(self, showid, showseason, showepisode):
        showseason = int(showseason)
        showepisode = int(showepisode)
        props = ["season", "episode", "plot", "fanart", "art"]
        query = {
                "jsonrpc": "2.0",
                "method": "VideoLibrary.GetEpisodes",
                "params": {
                    "properties": props,
                    "tvshowid": int(showid[0])
                },
                "id": "1"
                }
        try:
            rpc_result = xbmc.executeJSONRPC(
                jsonrpccommand=json.dumps(query, encoding='utf-8'))
            json_result = json.loads(rpc_result)
            result = json_result.get('result', None)
            if result is not None and 'episodes' in result:
                result = result['episodes']
                for episode in result:
                    in_season = episode['season'] == showseason
                    in_episode = episode['episode'] == showepisode
                    if in_season and in_episode:
                        infos = {}
                        if 'plot' in episode and len(episode['plot']) > 0:
                            infos.update({
                                'plot': episode['plot'],
                                'genre': showid[1]})
                        art = {}
                        if 'fanart' in episode and len(episode['fanart']) > 0:
                            art.update({'fanart': episode['fanart']})
                        if 'art' in episode and len(episode['art']['season.poster']) > 0:
                            art.update({
                                'thumb': episode['art']['season.poster']})
                        return infos, art
            return False
        except Exception:
            return False
KodiHelper.py 文件源码 项目:plugin.video.netflix 作者: asciidisco 项目源码 文件源码 阅读 21 收藏 0 点赞 0 评论 0
def get_movie_content_by_id(self, movieid):
        query = {
                "jsonrpc": "2.0",
                "method": "VideoLibrary.GetMovieDetails",
                "params": {
                    "movieid": movieid,
                    "properties": [
                        "genre",
                        "plot",
                        "fanart",
                        "thumbnail",
                        "art"]
                },
                "id": "libMovies"
            }
        try:
            rpc_result = xbmc.executeJSONRPC(
                jsonrpccommand=json.dumps(query, encoding='utf-8'))
            json_result = json.loads(rpc_result)
            result = json_result.get('result', None)
            if result is not None and 'moviedetails' in result:
                result = result.get('moviedetails', {})
                infos = {}
                if 'genre' in result and len(result['genre']) > 0:
                    infos.update({'genre': json_result['genre']})
                if 'plot' in result and len(result['plot']) > 0:
                    infos.update({'plot': result['plot']})
                art = {}
                if 'fanart' in result and len(result['fanart']) > 0:
                    art.update({'fanart': result['fanart']})
                if 'thumbnail' in result and len(result['thumbnail']) > 0:
                    art.update({'thumb': result['thumbnail']})
                if 'art' in json_result and len(result['art']['poster']) > 0:
                    art.update({'poster': result['art']['poster']})
                return infos, art
            return False
        except Exception:
            return False
myPlayer.py 文件源码 项目:plugin.video.stream-cinema 作者: bbaronSVK 项目源码 文件源码 阅读 17 收藏 0 点赞 0 评论 0
def executeJSON(request):
        # =================================================================
        # Execute JSON-RPC Command
        # Args:
        # request: Dictionary with JSON-RPC Commands
        # Found code in xbmc-addon-service-watchedlist
        # =================================================================
        rpccmd = json.dumps(request)  # create string from dict
        json_query = xbmc.executeJSONRPC(rpccmd)
        json_query = unicode(json_query, 'utf-8', errors='ignore')
        json_response = json.loads(json_query)
        return json_response
rpc.py 文件源码 项目:script.tvguide.fullscreen 作者: primaeval 项目源码 文件源码 阅读 29 收藏 0 点赞 0 评论 0
def json_query(query):
    if not "jsonrpc" in query:
        query["jsonrpc"] = "2.0"
    if not "id" in query:
        query["id"] = 1

    xbmc_request = json.dumps(query)
    raw = xbmc.executeJSONRPC(xbmc_request)
    clean = unicode(raw, 'utf-8', errors='ignore')
    response = json.loads(clean)
    if "error" in response:
        raise RPCError(response["error"])
    return response.get('result', response)
kodidb.py 文件源码 项目:script.module.metadatautils 作者: marcelveldt 项目源码 文件源码 阅读 19 收藏 0 点赞 0 评论 0
def set_json(jsonmethod, params):
        '''method to set info in the kodi json api'''
        kodi_json = {}
        kodi_json["jsonrpc"] = "2.0"
        kodi_json["method"] = jsonmethod
        kodi_json["params"] = params
        kodi_json["id"] = 1
        json_response = xbmc.executeJSONRPC(try_encode(json.dumps(kodi_json)))
        return json.loads(json_response.decode('utf-8', 'replace'))


问题


面经


文章

微信
公众号

扫码关注公众号