PluginManager/PluginManager.py

changeset 6605
6ae78749babc
parent 6360
73033fa6a99c
child 6608
954711fa91d8
--- a/PluginManager/PluginManager.py	Sat Dec 01 19:07:01 2018 +0100
+++ b/PluginManager/PluginManager.py	Fri Dec 07 19:33:33 2018 +0100
@@ -36,6 +36,7 @@
 
 import UI.PixmapCache
 
+import Globals
 import Utilities
 import Preferences
 
@@ -1303,13 +1304,11 @@
                 self.__updateAvailable = True
             return
         
-        if version.count(".") >= 3:
-            # cope for extended version numbers by ignoring
-            # the extension
-            checkVersion = ".".join(version.split(".", 3)[:3])
-        else:
-            checkVersion = version
-        if pluginDetails["version"] < checkVersion:
+        versionTuple = Globals.versionToTuple(version)[:3]
+        pluginVersionTuple = Globals.versionToTuple(
+            pluginDetails["version"])[:3]
+        
+        if pluginVersionTuple < versionTuple:
             self.__updateAvailable = True
             return
         
@@ -1317,7 +1316,6 @@
             # Check against downloaded plugin archives
             # 1. Check, if the archive file exists
             if not os.path.exists(archive):
-                self.__updateAvailable = True
                 return
             
             # 2. Check, if the archive is a valid zip file
@@ -1330,10 +1328,11 @@
             try:
                 aversion = zipFile.read("VERSION").decode("utf-8")
             except KeyError:
-                aversion = ""
+                aversion = "0.0.0"
             zipFile.close()
             
-            if aversion != version:
+            aversionTuple = Globals.versionToTuple(aversion)[:3]
+            if aversionTuple != versionTuple:
                 self.__updateAvailable = True
     
     def __sslErrors(self, reply, errors):

eric ide

mercurial