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