]> git.phdru.name Git - m_lib.git/commitdiff
Fix encodings in m_lib/rus
authorOleg Broytman <phd@phdru.name>
Sun, 23 Apr 2017 20:42:07 +0000 (23:42 +0300)
committerOleg Broytman <phd@phdru.name>
Sun, 23 Apr 2017 20:42:07 +0000 (23:42 +0300)
m_lib/rus/lat2rus.py
m_lib/rus/rus2lat.py

index 16d82f114d2982ba06f430bb8010a4f44fd08e34..86d01070765f1e4f57bb90a8c71f7ca47e786e5d 100755 (executable)
@@ -2,6 +2,7 @@
 # -*- coding: koi8-r -*-
 
 from __future__ import print_function
+from ..lazy.dict import LazyDictInitFunc
 
 #
 # Lat -> Rus translation
@@ -88,14 +89,10 @@ lat2koi_d = {
 def make_lat2xxx(encoding="cp1251"):
    d = {}
    for k, v in lat2koi_d.items():
-      if isinstance(v, bytes):
-         v = v.decode("koi8-r")
-      v = v.encode(encoding)
       d[k] = v
    return d
 
 
-from ..lazy.dict import LazyDictInitFunc
 lat2win_d = LazyDictInitFunc(make_lat2xxx, encoding="cp1251")
 
 
@@ -103,10 +100,8 @@ def lat2rus(instr, lat2rus_d = lat2koi_d):
    out = []
    for c in instr:
       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)
+      out.append(c)
+   return ''.join(out)
 
 
 lat2koi = lat2rus
@@ -120,6 +115,4 @@ if __name__ == "__main__":
    print("Test:", Test)
    print("Тест:", lat2koi(Test))
    test = lat2win(Test)
-   if isinstance(test, bytes):
-      test = test.decode("cp1251")
-   print("Тест:", test.encode("koi8-r"))
+   print("Тест:", test)
index e7f731b1c24a7f79431ad7f9d2273db76eb6d5e6..ae786167518100fb406eb64234dbf13c2bc404fc 100755 (executable)
@@ -2,6 +2,7 @@
 # -*- coding: koi8-r -*-
 
 from __future__ import print_function
+from ..lazy.dict import LazyDictInitFunc
 
 #
 # Rus -> Lat transliteration (koi2lat and win2lat)
@@ -77,14 +78,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 +89,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 +105,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))