Author: andar

Revision: 5576

Log:
        Move the VersionSplit class to deluge.common

Diff:
Modified: trunk/deluge/common.py
===================================================================
--- trunk/deluge/common.py      2009-07-29 16:35:52 UTC (rev 5575)
+++ trunk/deluge/common.py      2009-07-30 21:14:50 UTC (rev 5576)
@@ -505,3 +505,47 @@
             return True
     except socket.error:
         return False
+        
+class VersionSplit(object):
+    """
+    Used for comparing version numbers.
+    
+    :param ver: the version
+    :type ver: string
+    
+    """
+    def __init__(self, ver):
+        ver = ver.lower()
+        vs = ver.split("_") if "_" in ver else ver.split("-")
+        self.version = vs[0]
+        self.suffix = None
+        if len(vs) > 1:
+            for s in ("rc", "alpha", "beta", "dev"):
+                if s in vs[1][:len(s)]:
+                    self.suffix = vs[1]
+
+    def __cmp__(self, ver):
+        """
+        The comparison method.
+        
+        :param ver: the version to compare with
+        :type ver: VersionSplit
+        
+        """
+        
+        if self.version > ver.version or (self.suffix and self.suffix[:3] == 
"dev"):
+            return 1
+        if self.version < ver.version:
+            return -1
+
+        if self.version == ver.version:
+            if self.suffix == ver.suffix:
+                return 0
+            if self.suffix is None:
+                return 1
+            if ver.suffix is None:
+                return -1
+            if self.suffix < ver.suffix:
+                return -1
+            if self.suffix > ver.suffix:
+                return 1

Modified: trunk/deluge/core/core.py
===================================================================
--- trunk/deluge/core/core.py   2009-07-29 16:35:52 UTC (rev 5575)
+++ trunk/deluge/core/core.py   2009-07-30 21:14:50 UTC (rev 5576)
@@ -183,36 +183,7 @@
     def check_new_release(self):
         if self.new_release:
             log.debug("new_release: %s", self.new_release)
-            class VersionSplit(object):
-                def __init__(self, ver):
-                    ver = ver.lower()
-                    vs = ver.split("_") if "_" in ver else ver.split("-")
-                    self.version = vs[0]
-                    self.suffix = None
-                    if len(vs) > 1:
-                        for s in ("rc", "alpha", "beta", "dev"):
-                            if s in vs[1][:len(s)]:
-                                self.suffix = vs[1]
-
-                def __cmp__(self, ver):
-                    if self.version > ver.version or (self.suffix and 
self.suffix[:3] == "dev"):
-                        return 1
-                    if self.version < ver.version:
-                        return -1
-
-                    if self.version == ver.version:
-                        if self.suffix == ver.suffix:
-                            return 0
-                        if self.suffix is None:
-                            return 1
-                        if ver.suffix is None:
-                            return -1
-                        if self.suffix < ver.suffix:
-                            return -1
-                        if self.suffix > ver.suffix:
-                            return 1
-
-            if VersionSplit(self.new_release) > 
VersionSplit(deluge.common.get_version()):
+            if deluge.common.VersionSplit(self.new_release) > 
deluge.common.VersionSplit(deluge.common.get_version()):
                 
component.get("EventManager").emit(NewVersionAvailableEvent(self.new_release))
                 return self.new_release
         return False



--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"deluge-commit" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/deluge-commit?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to