diff options
author | Rechi <Rechi@users.noreply.github.com> | 2018-11-16 10:20:22 +0100 |
---|---|---|
committer | Rechi <Rechi@users.noreply.github.com> | 2018-11-16 10:20:22 +0100 |
commit | df430fb93e92652176688eecf4eb1cc4bc23df7f (patch) | |
tree | 271d8feb38e6a4271665a0e665a488856f6c4c3b /addons/service.xbmc.versioncheck/service.py | |
parent | d99f45cd825ec04d1c9fbabcf953e770ad77a4ed (diff) |
[addons] sync with repo
Diffstat (limited to 'addons/service.xbmc.versioncheck/service.py')
-rw-r--r-- | addons/service.xbmc.versioncheck/service.py | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/addons/service.xbmc.versioncheck/service.py b/addons/service.xbmc.versioncheck/service.py index 7f85bedefe..86bbdd5e53 100644 --- a/addons/service.xbmc.versioncheck/service.py +++ b/addons/service.xbmc.versioncheck/service.py @@ -19,8 +19,9 @@ import platform import xbmc +import xbmcgui import lib.common -from lib.common import log, dialog_yesno +from lib.common import log, dialog_yesno, localise from lib.common import upgrade_message as _upgrademessage from lib.common import upgrade_message2 as _upgrademessage2 @@ -102,9 +103,27 @@ def _versionchecklinux(packages): log("Unsupported platform %s" %platform.dist()[0]) sys.exit(0) - +# Python cryptography < 1.7 (still shipped with Ubuntu 16.04) has issues with +# pyOpenSSL integration, leading to all sorts of weird bugs - check here to save +# on some troubleshooting. This check may be removed in the future (when switching +# to Python3?) +# See https://github.com/pyca/pyopenssl/issues/542 +def _checkcryptography(): + ver = None + try: + import cryptography + ver = cryptography.__version__ + except: + # If the module is not found - no problem + return + + ver_parts = list(map(int, ver.split('.'))) + if len(ver_parts) < 2 or ver_parts[0] < 1 or (ver_parts[0] == 1 and ver_parts[1] < 7): + log('Python cryptography module version %s is too old, at least version 1.7 needed' % ver) + xbmcgui.Dialog().ok(ADDONNAME, localise(32040) % ver, localise(32041), localise(32042)) if (__name__ == "__main__"): + _checkcryptography() if ADDON.getSetting("versioncheck_enable") == "false": log("Disabled") else: |