import os
import log
import string
+import codecs
def uuid_python():
return str(uuid_random())
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
def msg(m):
sys.stderr.write(m)
-def sendfile(src, dst):
- cnt = 0
- while 1:
- s = src.read(10000)
- if s == "": break
- cnt += len(s)
- dst.write(s)
- return cnt
-
def append_to(log, msg):
f = open(log, "a")
f.write("%s\n" % msg)
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)
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
+
+def to_bytes(s):
+ if type(s) is bytes:
+ return s
+ elif type(s) is str or (sys.version_info[0] < 3 and type(s) is unicode):
+ return codecs.encode(s, 'utf-8')
+ else:
+ raise TypeError("Expected bytes or string, but got %s." % type(s))
+
+def to_str(s):
+ if type(s) is bytes:
+ return codecs.decode(s, 'utf-8')
+ elif type(s) is str or (sys.version_info[0] < 3 and type(s) is unicode):
+ return s
+ else:
+ raise TypeError("Expected bytes or string, but got %s." % type(s))
+
+def cmp(a, b):
+ return (a > b) - (a < b)