2 # -*- coding: koi8-r -*-
4 from __future__ import print_function
7 # Rus -> Lat transliteration (koi2lat and win2lat)
77 def make_xxx2lat(encoding="cp1251"):
79 for k, v in koi2lat_d.items():
80 if isinstance(k, bytes):
81 k = k.decode("koi8-r")
82 k = k.encode(encoding)
87 from ..lazy.dict import LazyDictInitFunc
88 win2lat_d = LazyDictInitFunc(make_xxx2lat, encoding="cp1251")
91 def rus2lat(instr, rus2lat_d = koi2lat_d):
94 c = rus2lat_d.get(c, c)
95 if isinstance(c, bytes):
97 elif isinstance(c, int):
99 out.append(c.encode('ascii'))
106 return rus2lat(instr, win2lat_d)
109 if __name__ == "__main__":
110 Test = "Щербаков Игорь Григорьевич. АБВ xyz абв ЬЬЭЮЯ ъьэюя"
112 print("Тест:", koi2lat(Test))
113 if isinstance(Test, bytes):
114 Test = Test.decode("cp1251")
115 print("Тест:", win2lat(Test.encode("cp1251")))