Files
jellycon/resources/lib/jsonrpc.py

54 lines
1.0 KiB
Python
Raw Normal View History

from __future__ import (
division, absolute_import, print_function, unicode_literals
)
import json
2023-01-12 20:50:41 -05:00
import xbmc
2020-06-21 11:27:09 +10:00
class JsonRpc(object):
id_ = 1
jsonrpc = "2.0"
2020-06-21 11:27:09 +10:00
params = None
def __init__(self, method, **kwargs):
self.method = method
2020-06-21 11:27:09 +10:00
for arg in kwargs: # id_(int), jsonrpc(str)
self.arg = arg
def _query(self):
query = {
'jsonrpc': self.jsonrpc,
'id': self.id_,
'method': self.method,
}
if self.params is not None:
query['params'] = self.params
return json.dumps(query)
def execute(self, params=None):
self.params = params
2020-01-03 10:00:19 +11:00
return json.loads(xbmc.executeJSONRPC(self._query()))
def get_value(name):
2020-06-21 11:27:09 +10:00
result = JsonRpc('Settings.getSettingValue').execute({'setting': name})
2020-01-03 10:00:19 +11:00
return result['result']['value']
def set_value(name, value):
params = {
'setting': name,
'value': value
}
2020-06-21 11:27:09 +10:00
result = JsonRpc('Settings.setSettingValue').execute(params)
2020-01-03 10:00:19 +11:00
return result