diff options
Diffstat (limited to 'pycompab.py')
-rwxr-xr-x | pycompab.py | 109 |
1 files changed, 0 insertions, 109 deletions
diff --git a/pycompab.py b/pycompab.py deleted file mode 100755 index 17422f20d..000000000 --- a/pycompab.py +++ /dev/null @@ -1,109 +0,0 @@ -""" Python compability library - - With careful and painful coding, compability from Python 1.5.2 up to 3.0 - is achieved. Don't try this at home. - - Copyright 2009, Andreas Rumpf -""" - -import sys - -python3 = sys.version[0] >= "3" -python26 = sys.version[0] == "2" and sys.version[2] >= "6" - -true, false = 0==0, 0==1 - -if python3: - sys.exit("This script does not yet work with Python 3.0") - -try: - from cStringIO import StringIO -except ImportError: - from io import StringIO - -if python3: - def replace(s, a, b): return s.replace(a, b) - def lower(s): return s.lower() - def join(a, s=""): return s.join(a) - def find(s, a): return s.find(a) - def split(s, a=None): return s.split(a) - def strip(s): return s.strip() - - def has_key(dic, key): return key in dic -else: - from string import replace, lower, join, find, split, strip - - def has_key(dic, key): return dic.has_key(key) - -if not python3 and not python26: - import md5 - def newMD5(): return md5.new() - def MD5update(obj, x): - return obj.update(x) -else: - import hashlib - def newMD5(): return hashlib.md5() - def MD5update(obj, x): - if python26: - return obj.update(x) - else: - return obj.update(bytes(x, "utf-8")) - -def mydigest(hasher): - result = "" - for c in hasher.digest(): - if python3: - x = hex(c)[2:] - else: - x = hex(ord(c))[2:] - if len(x) == 1: x = "0" + x - result = result + x - return result - -def Subs(frmt, *args, **substitution): - DIGITS = "0123456789" - LETTERS = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" - chars = DIGITS+LETTERS+"_" - d = substitution - a = args - result = [] - i = 0 - num = 0 - L = len(frmt) - while i < L: - if frmt[i] == '$': - i = i+1 - if frmt[i] == '#': - result.append(a[num]) - num = num+1 - i = i+1 - elif frmt[i] == '$': - result.append('$') - i = i+1 - elif frmt[i] == '{': - i = i+1 - j = i - while frmt[i] != '}': i = i+1 - i = i+1 # skip } - x = frmt[j:i-1] - if x[0] in DIGITS: - result.append(str(a[int(x)-1])) - else: - result.append(str(d[x])) - elif frmt[i] in chars: - j = i - i = i+1 - while i < len(frmt) and frmt[i] in chars: i = i + 1 - x = frmt[j:i] - if x[0] in DIGITS: - num = int(x) - result.append(str(a[num-1])) - else: - result.append(str(d[x])) - else: - assert(false) - else: - result.append(frmt[i]) - i = i+1 - return join(result, "") - |