#! /usr/bin/env python
# -*- coding: koi8-r -*-
+from __future__ import print_function
+from ..lazy.dict import LazyDictInitFunc
+
#
# Rus -> Lat transliteration (koi2lat and win2lat)
-# Written by Broytman. Copyright (C) 1997-2002 PhiloSoft Design
#
koi2lat_d = {
"ы": "y",
"э": "e",
"ю": "yu",
- "я": "ya"
+ "я": "ya",
}
def make_xxx2lat(encoding="cp1251"):
d = {}
for k, v in koi2lat_d.items():
- k = unicode(k, "koi8-r").encode(encoding)
d[k] = v
return d
-from m_lib.lazy.dict import LazyDictInitFunc
win2lat_d = LazyDictInitFunc(make_xxx2lat, encoding="cp1251")
def rus2lat(instr, rus2lat_d = koi2lat_d):
out = []
for c in instr:
- out.append(rus2lat_d.get(c, c))
+ c = rus2lat_d.get(c, c)
+ if isinstance(c, int):
+ c = chr(c)
+ out.append(c)
return ''.join(out)
if __name__ == "__main__":
Test = "Щербаков Игорь Григорьевич. АБВ xyz абв ЬЬЭЮЯ ъьэюя"
- print "Test:", Test
- print "Тест:", koi2lat(Test)
- print "Тест:", win2lat(unicode(Test, "koi8-r").encode("cp1251"))
+ print("Test:", Test)
+ print("Тест:", koi2lat(Test))
+ print("Тест:", win2lat(Test))