X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;f=m_lib%2Frus%2Frus2lat.py;h=fff0bfd4db2fd0eccd0f605165bb4258e059fde8;hb=89489b4658fcb130b781bb413175b4ad17356144;hp=e7f731b1c24a7f79431ad7f9d2273db76eb6d5e6;hpb=130518d2d521f2972c9e6aba5038c4927f235dc7;p=m_lib.git diff --git a/m_lib/rus/rus2lat.py b/m_lib/rus/rus2lat.py index e7f731b..fff0bfd 100755 --- a/m_lib/rus/rus2lat.py +++ b/m_lib/rus/rus2lat.py @@ -2,6 +2,7 @@ # -*- coding: koi8-r -*- from __future__ import print_function +from ..lazy.dict import LazyDictInitFunc # # Rus -> Lat transliteration (koi2lat and win2lat) @@ -14,6 +15,7 @@ koi2lat_d = { "ç": "G", "ä": "D", "å": "E", + "³": "Yo", "ö": "Zh", "ú": "Z", "é": "I", @@ -46,6 +48,7 @@ koi2lat_d = { "Ç": "g", "Ä": "d", "Å": "e", + "£": "yo", "Ö": "zh", "Ú": "z", "É": "i", @@ -77,14 +80,10 @@ koi2lat_d = { def make_xxx2lat(encoding="cp1251"): d = {} for k, v in koi2lat_d.items(): - if isinstance(k, bytes): - k = k.decode("koi8-r") - k = k.encode(encoding) d[k] = v return d -from ..lazy.dict import LazyDictInitFunc win2lat_d = LazyDictInitFunc(make_xxx2lat, encoding="cp1251") @@ -92,12 +91,10 @@ def rus2lat(instr, rus2lat_d = koi2lat_d): out = [] for c in instr: c = rus2lat_d.get(c, c) - if isinstance(c, bytes): - c = c.decode('ascii') - elif isinstance(c, int): + if isinstance(c, int): c = chr(c) - out.append(c.encode('ascii')) - return b''.join(out) + out.append(c) + return ''.join(out) koi2lat = rus2lat @@ -110,6 +107,4 @@ if __name__ == "__main__": Test = "ýÅÒÂÁËÏ× éÇÏÒØ çÒÉÇÏÒØÅ×ÉÞ. áâ÷ xyz ÁÂ× øøüàñ ßØÜÀÑ" print("Test:", Test) print("ôÅÓÔ:", koi2lat(Test)) - if isinstance(Test, bytes): - Test = Test.decode("cp1251") - print("ôÅÓÔ:", win2lat(Test.encode("cp1251"))) + print("ôÅÓÔ:", win2lat(Test))