X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;f=m_lib%2Frus%2Flat2rus.py;h=16d82f114d2982ba06f430bb8010a4f44fd08e34;hb=6af016dd69398088ee255c5376c21f1c20075062;hp=4076fa24afd45b8cf5282e7bc315bb1309318ee7;hpb=8d79317cdc8220ff3c2192e68fc1dfc749c3ea1c;p=m_lib.git diff --git a/m_lib/rus/lat2rus.py b/m_lib/rus/lat2rus.py index 4076fa2..16d82f1 100755 --- a/m_lib/rus/lat2rus.py +++ b/m_lib/rus/lat2rus.py @@ -1,6 +1,8 @@ #! /usr/bin/env python # -*- coding: koi8-r -*- +from __future__ import print_function + # # Lat -> Rus translation # @@ -79,27 +81,32 @@ lat2koi_d = { "%": ":", "^": ",", "&": ".", - "*": ";" + "*": ";", } def make_lat2xxx(encoding="cp1251"): d = {} for k, v in lat2koi_d.items(): - v = unicode(v, "koi8-r").encode(encoding) + if isinstance(v, bytes): + v = v.decode("koi8-r") + v = v.encode(encoding) d[k] = v return d -from m_lib.lazy.dict import LazyDictInitFunc +from ..lazy.dict import LazyDictInitFunc lat2win_d = LazyDictInitFunc(make_lat2xxx, encoding="cp1251") def lat2rus(instr, lat2rus_d = lat2koi_d): out = [] for c in instr: - out.append(lat2rus_d.get(c, c)) - return ''.join(out) + c = lat2rus_d.get(c, c) + if isinstance(c, bytes): + c = c.decode('koi8-r') + out.append(c.encode('koi8-r')) + return b''.join(out) lat2koi = lat2rus @@ -110,6 +117,9 @@ def lat2win(instr): if __name__ == "__main__": Test = "Ghbdtn nt,t^ ghtrhfcysq vbh!" - print "Test:", Test - print "ôÅÓÔ:", lat2koi(Test) - print "ôÅÓÔ:", unicode(lat2win(Test), "cp1251").encode("koi8-r") + print("Test:", Test) + print("ôÅÓÔ:", lat2koi(Test)) + test = lat2win(Test) + if isinstance(test, bytes): + test = test.decode("cp1251") + print("ôÅÓÔ:", test.encode("koi8-r"))