aboutsummaryrefslogtreecommitdiff
path: root/addons/service.xbmc.versioncheck/resources/lib/version_check/json_interface.py
diff options
context:
space:
mode:
authoranxdpanic <anxdpanic@users.noreply.github.com>2020-10-23 19:24:35 -0400
committeranxdpanic <anxdpanic@users.noreply.github.com>2020-10-23 19:24:35 -0400
commitce356248f59d051d3e5765d5364b4eb7bdb3b4fc (patch)
tree582c1d152b40498250b16c66c31e4619ce1870af /addons/service.xbmc.versioncheck/resources/lib/version_check/json_interface.py
parent2524e9e0ef1f6e68f9ec85027114d7242465e08f (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.py67
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