Rolled back original compare code
authorMaran <maran.hidskes@gmail.com>
Wed, 16 Jan 2013 13:45:07 +0000 (14:45 +0100)
committerMaran <maran.hidskes@gmail.com>
Wed, 16 Jan 2013 16:07:59 +0000 (17:07 +0100)
lib/gui_qt.py

index be19aab..141ece1 100644 (file)
@@ -85,20 +85,9 @@ class UpdateLabel(QtGui.QLabel):
 
 
     def compare_versions(self, version1, version2):
-        parts1 = [int(x) for x in version1.split('.')]
-        parts2 = [int(x) for x in version2.split('.')]
-
-        # fill up the shorter version with zeros ...
-        lendiff = len(parts1) - len(parts2)
-        if lendiff > 0:
-            parts2.extend([0] * lendiff)
-        elif lendiff < 0:
-            parts1.extend([0] * (-lendiff))
-            
-        for i, p in enumerate(parts1):
-            ret = cmp(p, parts2[i])
-            if ret: return ret
-        return 0
+        def normalize(v):
+            return [int(x) for x in re.sub(r'(\.0+)*$','', v).split(".")]
+        return cmp(normalize(version1), normalize(version2))
 
     def ignore_this_version(self):
         self.setText("")