X-Git-Url: https://git.tld-linux.org/?a=blobdiff_plain;f=TLD_Builder%2Futil.py;h=602bad176fe9e4ba01c6d7f4344bd235dc0c2ae2;hb=90e89153ad56b37c24ba84ec1ade4dd4984a4059;hp=05cf076753ee6ec6ce8ccc4804bbf4f6b01c256c;hpb=d398d662985299e8548fda37f75fc8b0ffe7a10f;p=tld-builder.git diff --git a/TLD_Builder/util.py b/TLD_Builder/util.py index 05cf076..602bad1 100644 --- a/TLD_Builder/util.py +++ b/TLD_Builder/util.py @@ -5,6 +5,7 @@ import sys import os import log import string +import codecs def uuid_python(): return str(uuid_random()) @@ -35,7 +36,7 @@ def sendfile(src, dst): cnt = 0 while 1: s = src.read(10000) - if s == "": break + if s == "" or s == b"": break cnt += len(s) dst.write(s) return cnt @@ -95,3 +96,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)