python类executeJSONRPC()的实例源码

utils.py 文件源码 项目:context.elementum 作者: elgatito 项目源码 文件源码 阅读 20 收藏 0 点赞 0 评论 0
def getJSONResponse(message):
    return simplejson.loads(xbmc.executeJSONRPC(message))
database.py 文件源码 项目:plugin.video.streamondemand-pureita 作者: orione7 项目源码 文件源码 阅读 24 收藏 0 点赞 0 评论 0
def get_xbmc_JSONRPC_response(json_query=""):
    try:
        response = xbmc.executeJSONRPC(json_query)
        response = unicode(response, 'utf-8', errors='ignore')
        response = json.loads(response)
        logger.info("streamondemand.channels.database jsonrpc %s" % response)
    except Exception, e:
        logger.info("streamondemand.channels.database jsonrpc error: %s" % str(e))
        response = None
    return response
buscadorall.py 文件源码 项目:plugin.video.streamondemand-pureita 作者: orione7 项目源码 文件源码 阅读 21 收藏 0 点赞 0 评论 0
def get_xbmc_jsonrpc_response(json_query=""):
    try:
        response = xbmc.executeJSONRPC(json_query)
        response = unicode(response, 'utf-8', errors='ignore')
        response = json.loads(response)
        logger.info("streamondemand.channels.database jsonrpc %s" % response)
    except Exception, e:
        logger.info("streamondemand.channels.database jsonrpc error: %s" % str(e))
        response = None
    return response
biblioteca.py 文件源码 项目:plugin.video.streamondemand-pureita 作者: orione7 项目源码 文件源码 阅读 18 收藏 0 点赞 0 评论 0
def get_xbmc_jsonrpc_response(json_query=""):
    try:
        response = xbmc.executeJSONRPC(json_query)
        response = unicode(response, 'utf-8', errors='ignore')
        response = json.loads(response)
        logger.info("streamondemand-pureita.channels.database jsonrpc %s" % response)
    except Exception, e:
        logger.info("streamondemand-pureita.channels.database jsonrpc error: %s" % str(e))
        response = None
    return response
addon.py 文件源码 项目:context.clean_remove 作者: 5-star 项目源码 文件源码 阅读 23 收藏 0 点赞 0 评论 0
def kodiJsonRequest(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
kodi.py 文件源码 项目:plugin.program.indigo 作者: tvaddonsco 项目源码 文件源码 阅读 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)
actions.py 文件源码 项目:script.reddit.reader 作者: gedisony 项目源码 文件源码 阅读 24 收藏 0 点赞 0 评论 0
def add_dummy_favorite():
    json_rpc_command={"jsonrpc": "2.0",
                      "method": "Favourites.AddFavourite",
                      'params': {
                                 'title': 'dummy',
                                 'type': 'script',
                                 'path': 'dummy_command_enough_to_e_unique',
                                 },
                      'id': '1'
                      }
    a=xbmc.executeJSONRPC(json.dumps(json_rpc_command))
    log("dummy favorite:" + repr(a))
utils.py 文件源码 项目:script.reddit.reader 作者: gedisony 项目源码 文件源码 阅读 19 收藏 0 点赞 0 评论 0
def json_query(query, ret):
    try:
        xbmc_request = json.dumps(query)
        result = xbmc.executeJSONRPC(xbmc_request)
        #print result
        #result = unicode(result, 'utf-8', errors='ignore')
        #log('result = ' + str(result))
        if ret:
            return json.loads(result)['result']
        else:
            return json.loads(result)
    except:
        return {}

#https://github.com/russellballestrini/nested-lookup/blob/master/nested_lookup/nested_lookup.py
xbmc_system_version.py 文件源码 项目:plugin.video.youtube 作者: jdf76 项目源码 文件源码 阅读 18 收藏 0 点赞 0 评论 0
def __init__(self, version, releasename, appname):
        super(XbmcSystemVersion, self).__init__(version, releasename, appname)
        try:
            json_query = xbmc.executeJSONRPC('{ "jsonrpc": "2.0", "method": "Application.GetProperties", '
                                             '"params": {"properties": ["version", "name"]}, "id": 1 }')
            json_query = unicode(json_query, 'utf-8', errors='ignore')
            json_query = json.loads(json_query)

            version_installed = json_query['result']['version']
            self._version = (version_installed.get('major', 1), version_installed.get('minor', 0))
            self._appname = json_query['result']['name']
        except:
            self._version = (1, 0)  # Frodo
            self._appname = 'Unknown Application'

        self._releasename = 'Unknown Release'
        if (19, 0) > self._version >= (18, 0):
            self._releasename = 'Leia'
        elif self._version >= (17, 0):
            self._releasename = 'Krypton'
        elif self._version >= (16, 0):
            self._releasename = 'Jarvis'
        elif self._version >= (15, 0):
            self._releasename = 'Isengard'
        elif self._version >= (14, 0):
            self._releasename = 'Helix'
        elif self._version >= (13, 0):
            self._releasename = 'Gotham'
        elif self._version >= (12, 0):
            self._releasename = 'Frodo'
plugin.py 文件源码 项目:plugin.program.autocompletion 作者: phil65 项目源码 文件源码 阅读 29 收藏 0 点赞 0 评论 0
def get_kodi_json(method, params):
    json_query = xbmc.executeJSONRPC('{"jsonrpc": "2.0", "method": "%s", "params": %s, "id": 1}' % (method, params))
    json_query = unicode(json_query, 'utf-8', errors='ignore')
    return json.loads(json_query)
xbmc_system_version.py 文件源码 项目:plugin.video.youtube 作者: Kolifanes 项目源码 文件源码 阅读 19 收藏 0 点赞 0 评论 0
def __init__(self, version, releasename, appname):
        super(XbmcSystemVersion, self).__init__(version, releasename, appname)
        try:
            json_query = xbmc.executeJSONRPC(
                '{ "jsonrpc": "2.0", "method": "Application.GetProperties", "params": {"properties": ["version", "name"]}, "id": 1 }')
            json_query = unicode(json_query, 'utf-8', errors='ignore')
            json_query = json.loads(json_query)
            version_installed = []
            version_installed = json_query['result']['version']
            self._version = (version_installed.get('major', 1), version_installed.get('minor', 0))
            self._appname = json_query['result']['name']
            pass
        except:
            self._version = (1, 0)  # Frodo
            self._appname = 'Unknown Application'
            pass
        self._releasename = 'Unknown XBMC Release'
        if self._version >= (12, 0):
            self._releasename = 'Frodo'
            pass
        if self._version >= (13, 0):
            self._releasename = 'Gotham'
            pass
        if self._version >= (14, 0):
            self._releasename = 'Helix'
            pass
        if self._version >= (15, 0):
            self._releasename = 'Isengard'
            pass
        if self._version >= (16, 0):
            self._releasename = 'Jarvis'
            pass
        if self._version >= (17, 0):
            self._releasename = 'Krypton'
            pass
service.py 文件源码 项目:soap4me-proxy 作者: eschava 项目源码 文件源码 阅读 28 收藏 0 点赞 0 评论 0
def get_shows():
        postdata = json.dumps({"jsonrpc": "2.0",
                               "id": 1,
                               'method': 'VideoLibrary.GetTVShows',
                               "params": {
                                   "properties": ["imdbnumber"]
                               }})
        json_query = xbmc.executeJSONRPC(postdata)
        json_query = unicode(json_query, 'utf-8', errors='ignore')
        json_query = json.loads(json_query)['result']['tvshows']
        return json_query
service.py 文件源码 项目:soap4me-proxy 作者: eschava 项目源码 文件源码 阅读 23 收藏 0 点赞 0 评论 0
def get_show_details(show_id):
        postdata = json.dumps({"jsonrpc": "2.0",
                               "id": 1,
                               'method': 'VideoLibrary.GetTVShowDetails',
                               "params": {
                                   'tvshowid': show_id,
                                   "properties": ["imdbnumber"]
                               }})
        json_query = xbmc.executeJSONRPC(postdata)
        json_query = unicode(json_query, 'utf-8', errors='ignore')
        json_query = json.loads(json_query)['result']['tvshowdetails']
        return json_query
service.py 文件源码 项目:soap4me-proxy 作者: eschava 项目源码 文件源码 阅读 25 收藏 0 点赞 0 评论 0
def get_episodes(show_id):
        postdata = json.dumps({"jsonrpc": "2.0",
                               "id": 1,
                               'method': 'VideoLibrary.GetEpisodes',
                               "params": {
                                   'tvshowid': show_id,
                                   "properties": ["season", "episode", "playcount", "resume"]
                               }})
        json_query = xbmc.executeJSONRPC(postdata)
        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']['episodes']
        return json_query
service.py 文件源码 项目:soap4me-proxy 作者: eschava 项目源码 文件源码 阅读 52 收藏 0 点赞 0 评论 0
def set_watched(episode_id, watched):
        postdata = json.dumps({"jsonrpc": "2.0",
                               "id": 1,
                               'method': 'VideoLibrary.SetEpisodeDetails',
                               "params": {
                                   'episodeid': episode_id,
                                   'playcount': 1 if watched else 0,
                               }})
        xbmc.executeJSONRPC(postdata)
script.py 文件源码 项目:script.profilecleaner 作者: cibboy 项目源码 文件源码 阅读 37 收藏 0 点赞 0 评论 0
def ShowStats(self, showAddons = False):
        # Get all Files in Thumbnails folder and all Textures in Database
        self.ExploreThumbnailsFolder(thumbnailsFolder)
        jSonQuery = xbmc.executeJSONRPC('{"jsonrpc": "2.0", "method": "Textures.GetTextures", "id": 1}')
        jSon = json.loads(jSonQuery)
        try:
            if jSon['result'].has_key('textures'): getTextures = jSon['result']['textures']
        except: getTextures = []

        statsT = normalize(addonLanguage(32108)) + ": " + humanReadableSizeOf(self.thumbnailFileSize) + ", " + str(len(self.thumbnailFileList)) + " " + normalize(addonLanguage(32107)) + ", " + str(len(getTextures)) + " " + normalize(addonLanguage(32108))
        statsA = ""

        if showAddons:
            # Compute addon size and number of files.
            totalAddonSize = 0
            totalAddonFiles = 0
            addonData = os.path.join(userdataFolder, "addon_data")
            for item in os.listdir(addonData):
                totalAddonSize = totalAddonSize + self.GetFolderSize(os.path.join(addonData, item))
                totalAddonFiles = totalAddonFiles + 1
            addonRollback = os.path.join(homeFolder, "addons", "packages")
            for item in os.listdir(addonRollback):
                totalAddonSize = totalAddonSize + os.stat(os.path.join(addonRollback, item)).st_size
                totalAddonFiles = totalAddonFiles + 1

            statsA = normalize(addonLanguage(32109)) + ": " + humanReadableSizeOf(totalAddonSize) + ", " + str(totalAddonFiles) + " " + normalize(addonLanguage(32107))

        # Show stats
        xbmcgui.Dialog().ok(addonName + " - " + normalize(addonLanguage(32106)), statsT, statsA)
skygo.py 文件源码 项目:plugin.video.skygo 作者: trummerjo 项目源码 文件源码 阅读 20 收藏 0 点赞 0 评论 0
def getInputstreamAddon():
    r = xbmc.executeJSONRPC('{"jsonrpc": "2.0", "id": 1, "method": "Addons.GetAddonDetails", "params": {"addonid":"inputstream.adaptive", "properties": ["enabled"]}}')
    data = json.loads(r)
    if not "error" in data.keys():
        if data["result"]["addon"]["enabled"] == True:
            return True

    return None
screensaver.py 文件源码 项目:script.screensaver.ftvscreensaver 作者: sualfred 项目源码 文件源码 阅读 24 收藏 0 点赞 0 评论 0
def getJSON(self,method,params):
        json_response = xbmc.executeJSONRPC('{ "jsonrpc" : "2.0" , "method" : "' + method + '" , "params" : ' + params + ' , "id":1 }')
        jsonobject = json.loads(json_response.decode('utf-8','replace'))       
        if(jsonobject.has_key('result')):
            return jsonobject['result']
        else:
            self.log("no result " + str(jsonobject),xbmc.LOGDEBUG)
            return None
exec.py 文件源码 项目:plugin.program.blstfusion 作者: harrygg 项目源码 文件源码 阅读 23 收藏 0 点赞 0 评论 0
def check_plg():
  js_resp = xbmc.executeJSONRPC('{"jsonrpc":"2.0","method":"Addons.GetAddons", "id":1}')
  if int(xbmc.getInfoLabel("System.BuildVersion" )[0:2]) > 14: ln = 1
  else: ln = 2

  if len(re.findall(r'blstfusion', js_resp)) > ln:
    Notify ('%s %s' % (__scriptname__, __version__) , '[COLOR FFFF0000]confilct ![/COLOR]')
    return False
  else:
    return True
xbmc_library.py 文件源码 项目:pelisalacarta-ce 作者: pelisalacarta-ce 项目源码 文件源码 阅读 19 收藏 0 点赞 0 评论 0
def get_data(payload):
    """
    obtiene la información de la llamada JSON-RPC con la información pasada en payload
    @type payload: dict
    @param payload: data
    :return:
    """
    logger.info("payload: %s" % payload)
    # Required header for XBMC JSON-RPC calls, otherwise you'll get a 415 HTTP response code - Unsupported media type
    headers = {'content-type': 'application/json'}

    if config.get_setting("library_mode", "biblioteca"):
        try:
            try:
                xbmc_port = config.get_setting("xbmc_puerto", "biblioteca")
            except:
                xbmc_port = 0

            xbmc_json_rpc_url = "http://" + config.get_setting("xbmc_host", "biblioteca") + ":" + str(
                xbmc_port) + "/jsonrpc"
            req = urllib2.Request(xbmc_json_rpc_url, data=jsontools.dump_json(payload), headers=headers)
            f = urllib2.urlopen(req)
            response = f.read()
            f.close()

            logger.info("get_data: response %s" % response)
            data = jsontools.load_json(response)
        except Exception, ex:
            template = "An exception of type {0} occured. Arguments:\n{1!r}"
            message = template.format(type(ex).__name__, ex.args)
            logger.error("get_data: error en xbmc_json_rpc_url: %s" % message)
            data = ["error"]
    else:
        try:
            data = jsontools.load_json(xbmc.executeJSONRPC(jsontools.dump_json(payload)))
        except Exception, ex:
            template = "An exception of type {0} occured. Arguments:\n{1!r}"
            message = template.format(type(ex).__name__, ex.args)
            logger.error("get_data:: error en xbmc.executeJSONRPC: {0}".
                        format(message))
            data = ["error"]

    logger.info("data: %s" % data)

    return data


问题


面经


文章

微信
公众号

扫码关注公众号