]> TLD Linux GIT Repositories - tld-builder.git/blobdiff - TLD_Builder/util.py
- more python 3.x fixes
[tld-builder.git] / TLD_Builder / util.py
index b623115d7f2e407e3fe30d69e66a97bfe4a7b32f..05cf076753ee6ec6ce8ccc4804bbf4f6b01c256c 100644 (file)
@@ -11,10 +11,10 @@ def uuid_python():
 
 def uuid_external():
     f = os.popen("uuidgen 2>&1")
-    u = string.strip(f.read())
+    u = f.read().strip()
     f.close()
     if len(u) != 36:
-        raise Exception, "uuid: fatal, cannot generate uuid: %s" % u
+        raise Exception("uuid: fatal, cannot generate uuid: %s" % u)
     return u
 
 # uuid module available in python >= 2.5
@@ -52,9 +52,9 @@ def clean_tmp(dir):
 def collect_files(log, basedir = "/home"):
     f = open(log, 'r')
     rx = re.compile(r"^Wrote: (%s.*\.rpm)$" % basedir)
-    proc = re.compile(r"^Processing (files):.*$")
+    proc = re.compile(r"^Processing files:.*$")
     files = []
-    for l in reversed(list(f.xreadlines())):
+    for l in reversed(list(f)):
         if proc.match(l):
             break
         m = rx.search(l)
@@ -76,3 +76,22 @@ def find_last_section(log):
             last_section = m.group(1)
     f.close()
     return last_section
+
+def cmp_to_key(mycmp):
+    'Convert a cmp= function into a key= function'
+    class K:
+        def __init__(self, obj, *args):
+            self.obj = obj
+        def __lt__(self, other):
+            return mycmp(self.obj, other.obj) < 0
+        def __gt__(self, other):
+            return mycmp(self.obj, other.obj) > 0
+        def __eq__(self, other):
+            return mycmp(self.obj, other.obj) == 0
+        def __le__(self, other):
+            return mycmp(self.obj, other.obj) <= 0
+        def __ge__(self, other):
+            return mycmp(self.obj, other.obj) >= 0
+        def __ne__(self, other):
+            return mycmp(self.obj, other.obj) != 0
+    return K