]> git.phdru.name Git - m_lib.git/blob - m_lib/rus/lat2rus.py
Use print function for Py3 compatibility
[m_lib.git] / m_lib / rus / lat2rus.py
1 #! /usr/bin/env python
2 # -*- coding: koi8-r -*-
3
4 from __future__ import print_function
5
6 #
7 # Lat -> Rus translation
8 #
9
10 lat2koi_d = {
11    "q": "�",
12    "w": "�",
13    "e": "�",
14    "r": "�",
15    "t": "�",
16    "y": "�",
17    "u": "�",
18    "i": "�",
19    "o": "�",
20    "p": "�",
21    "[": "�",
22    "]": "�",
23    "a": "�",
24    "s": "�",
25    "d": "�",
26    "f": "�",
27    "g": "�",
28    "h": "�",
29    "j": "�",
30    "k": "�",
31    "l": "�",
32    ";": "�",
33    "'": "�",
34    "z": "�",
35    "x": "�",
36    "c": "�",
37    "v": "�",
38    "b": "�",
39    "n": "�",
40    "m": "�",
41    ",": "�",
42    ".": "�",
43    "Q": "�",
44    "W": "�",
45    "E": "�",
46    "R": "�",
47    "T": "�",
48    "Y": "�",
49    "U": "�",
50    "I": "�",
51    "O": "�",
52    "P": "�",
53    "{": "�",
54    "}": "�",
55    "A": "�",
56    "S": "�",
57    "D": "�",
58    "F": "�",
59    "G": "�",
60    "H": "�",
61    "J": "�",
62    "K": "�",
63    "L": "�",
64    ":": "�",
65    "\"": "�",
66    "Z": "�",
67    "X": "�",
68    "C": "�",
69    "V": "�",
70    "B": "�",
71    "N": "�",
72    "M": "�",
73    "<": "�",
74    ">": "�",
75    "`": "�",
76    "~": "�",
77    "!": "!",
78    "@": "\"",
79    "#": "#",
80    "$": "*",
81    "%": ":",
82    "^": ",",
83    "&": ".",
84    "*": ";"
85 }
86
87
88 def make_lat2xxx(encoding="cp1251"):
89    d = {}
90    for k, v in lat2koi_d.items():
91       v = unicode(v, "koi8-r").encode(encoding)
92       d[k] = v
93    return d
94
95
96 from m_lib.lazy.dict import LazyDictInitFunc
97 lat2win_d = LazyDictInitFunc(make_lat2xxx, encoding="cp1251")
98
99
100 def lat2rus(instr, lat2rus_d = lat2koi_d):
101    out = []
102    for c in instr:
103       out.append(lat2rus_d.get(c, c))
104    return ''.join(out)
105
106
107 lat2koi = lat2rus
108
109 def lat2win(instr):
110    return lat2rus(instr, lat2win_d)
111
112
113 if __name__ == "__main__":
114    Test = "Ghbdtn nt,t^ ghtrhfcysq vbh!"
115    print("Test:", Test)
116    print("����:", lat2koi(Test))
117    print("����:", unicode(lat2win(Test), "cp1251").encode("koi8-r"))