X-Git-Url: https://git.tld-linux.org/?a=blobdiff_plain;f=TLD_Builder%2Futil.py;h=b6bcc2460ff2053fc5494f72e3c6215b6efcbc78;hb=98894bf10f64d2133335f23117234f9f9ebefe0d;hp=05cf076753ee6ec6ce8ccc4804bbf4f6b01c256c;hpb=d398d662985299e8548fda37f75fc8b0ffe7a10f;p=tld-builder.git diff --git a/TLD_Builder/util.py b/TLD_Builder/util.py index 05cf076..b6bcc24 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,19 @@ 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))