]> TLD Linux GIT Repositories - tld-builder.git/blobdiff - TLD_Builder/util.py
- drop util.sendfile, use shutil.copyfileobj instead
[tld-builder.git] / TLD_Builder / util.py
index 05cf076753ee6ec6ce8ccc4804bbf4f6b01c256c..af6b8f12bd2e8ca3022a2215f4b1cd19bac7e3e2 100644 (file)
@@ -5,6 +5,7 @@ import sys
 import os
 import log
 import string
+import codecs
 
 def uuid_python():
     return str(uuid_random())
@@ -31,15 +32,6 @@ def pkg_name(nvr):
 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)
@@ -95,3 +87,22 @@ def cmp_to_key(mycmp):
         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)