Use single instance of SystemVersion

This commit is contained in:
MoojMidge 2023-12-10 19:57:47 +11:00
parent 40869c6764
commit e136f43d65
3 changed files with 25 additions and 10 deletions

View file

@ -14,7 +14,7 @@ import xbmc
class SystemVersion(object):
def __init__(self, version, releasename, appname):
def __init__(self, version=None, releasename=None, appname=None):
self._version = (
version if version and isinstance(version, tuple)
else (0, 0, 0, 0)
@ -31,19 +31,25 @@ class SystemVersion(object):
)
try:
json_query = xbmc.executeJSONRPC('{ "jsonrpc": "2.0", "method": "Application.GetProperties", '
'"params": {"properties": ["version", "name"]}, "id": 1 }')
json_query = xbmc.executeJSONRPC(json.dumps({
'jsonrpc': '2.0',
'method': 'Application.GetProperties',
'params': {
'properties': ['version', 'name']
},
'id': 1,
}))
json_query = str(json_query)
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._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 self._version >= (21, 0):
self._releasename = 'Omega'
elif self._version >= (20, 0):
@ -64,9 +70,15 @@ class SystemVersion(object):
self._releasename = 'Gotham'
elif self._version >= (12, 0):
self._releasename = 'Frodo'
else:
self._releasename = 'Unknown Release'
def __str__(self):
obj_str = "%s (%s-%s)" % (self._releasename, self._appname, '.'.join(map(str, self._version)))
obj_str = '{releasename} ({appname}-{version[0]}.{version[1]})'.format(
releasename=self._releasename,
appname=self._appname,
version=self._version
)
return obj_str
def get_release_name(self):
@ -77,3 +89,6 @@ class SystemVersion(object):
def get_app_name(self):
return self._appname
current_system_version = SystemVersion()