diff options
author | anxdpanic <anxdpanic@users.noreply.github.com> | 2020-10-23 19:24:35 -0400 |
---|---|---|
committer | anxdpanic <anxdpanic@users.noreply.github.com> | 2020-10-23 19:24:35 -0400 |
commit | ce356248f59d051d3e5765d5364b4eb7bdb3b4fc (patch) | |
tree | 582c1d152b40498250b16c66c31e4619ce1870af /addons/service.xbmc.versioncheck/resources/lib/version_check/json_interface.py | |
parent | 2524e9e0ef1f6e68f9ec85027114d7242465e08f (diff) |
[addons] sync service.xbmc.versioncheck with repo
Diffstat (limited to 'addons/service.xbmc.versioncheck/resources/lib/version_check/json_interface.py')
-rw-r--r-- | addons/service.xbmc.versioncheck/resources/lib/version_check/json_interface.py | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/addons/service.xbmc.versioncheck/resources/lib/version_check/json_interface.py b/addons/service.xbmc.versioncheck/resources/lib/version_check/json_interface.py new file mode 100644 index 0000000000..e09618f900 --- /dev/null +++ b/addons/service.xbmc.versioncheck/resources/lib/version_check/json_interface.py @@ -0,0 +1,67 @@ +# -*- coding: utf-8 -*- + +""" + + Copyright (C) 2013-2014 Team-XBMC + Copyright (C) 2014-2019 Team Kodi + + This file is part of service.xbmc.versioncheck + + SPDX-License-Identifier: GPL-3.0-or-later + See LICENSES/GPL-3.0-or-later.txt for more information. + +""" + +from contextlib import closing +import json +import os +import sys + +import xbmc # pylint: disable=import-error +import xbmcvfs # pylint: disable=import-error + +from .common import ADDON_PATH + + +def get_installed_version(): + """ Retrieve the currently installed version + + :return: currently installed version + :rtype: dict + """ + query = { + "jsonrpc": "2.0", + "method": "Application.GetProperties", + "params": { + "properties": ["version", "name"] + }, + "id": 1 + } + json_query = xbmc.executeJSONRPC(json.dumps(query)) + if sys.version_info[0] >= 3: + json_query = str(json_query) + else: + json_query = unicode(json_query, 'utf-8', errors='ignore') # pylint: disable=undefined-variable + json_query = json.loads(json_query) + version_installed = [] + if 'result' in json_query and 'version' in json_query['result']: + version_installed = json_query['result']['version'] + return version_installed + + +def get_version_file_list(): + """ Retrieve version lists from supplied version file (resources/versions.txt) + + :return: all provided versions + :rtype: dict + """ + version_file = os.path.join(ADDON_PATH, 'resources/versions.txt') + with closing(xbmcvfs.File(version_file)) as open_file: + data = open_file.read() + + if sys.version_info[0] >= 3: + version_query = str(data) + else: + version_query = unicode(data, 'utf-8', errors='ignore') # pylint: disable=undefined-variable + version_query = json.loads(version_query) + return version_query |