X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;f=m_lib%2Frus%2Flat2rus.py;fp=m_lib%2Frus%2Flat2rus.py;h=16d82f114d2982ba06f430bb8010a4f44fd08e34;hb=130518d2d521f2972c9e6aba5038c4927f235dc7;hp=4e3d5805b4d4a6c98dd5683ebcf10cdaaeb8b70e;hpb=3f0f88bf83f84474c61efacfbf14cdbeb22f30e3;p=m_lib.git diff --git a/m_lib/rus/lat2rus.py b/m_lib/rus/lat2rus.py index 4e3d580..16d82f1 100755 --- a/m_lib/rus/lat2rus.py +++ b/m_lib/rus/lat2rus.py @@ -81,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 @@ -114,4 +119,7 @@ if __name__ == "__main__": Test = "Ghbdtn nt,t^ ghtrhfcysq vbh!" print("Test:", Test) print("ôÅÓÔ:", lat2koi(Test)) - print("ôÅÓÔ:", unicode(lat2win(Test), "cp1251").encode("koi8-r")) + test = lat2win(Test) + if isinstance(test, bytes): + test = test.decode("cp1251") + print("ôÅÓÔ:", test.encode("koi8-r"))