From ce356248f59d051d3e5765d5364b4eb7bdb3b4fc Mon Sep 17 00:00:00 2001 From: anxdpanic <anxdpanic@users.noreply.github.com> Date: Fri, 23 Oct 2020 19:24:35 -0400 Subject: [addons] sync service.xbmc.versioncheck with repo --- .../resources/lib/version_check/json_interface.py | 67 ++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 addons/service.xbmc.versioncheck/resources/lib/version_check/json_interface.py (limited to 'addons/service.xbmc.versioncheck/resources/lib/version_check/json_interface.py') 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 -- cgit v1.2.3