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
评论列表
文章目录