]> git.phdru.name Git - m_lib.git/blobdiff - m_lib/opstring.py
Use integer division for Py3 compatibility
[m_lib.git] / m_lib / opstring.py
index 92d193bb63539d255de0a4e9a389195a686b3f30..cb83a8a92ee9d8222d8dede58e2f45847e9a6398 100755 (executable)
@@ -5,10 +5,9 @@
 # opString - string/pathnames manipulation routines
 # Some ideas came from Turbo Professional/Object Professional (t/o)pString.PAS
 #
-# Written by Broytman, Nov 1997. Copyright (C) 1997 PhiloSoft Design
-#
 
 
+from __future__ import print_function
 from string import *
 
 
@@ -67,7 +66,7 @@ def CenterCh(S, Ch, Width):
    if len(S) >= Width:
       return S
    else:
-      l = (Width - len(S)) / 2
+      l = (Width - len(S)) // 2
       r = Width - len(S) - l
       return Ch*l + S + Ch*r
 
@@ -127,10 +126,10 @@ def translate_a(val, id):
    return transl_adict[id][val]
 
 
-# Encodings, especially cyrillic. Requires Unicode, hence Python 2.0+
-
 def recode(s, from_encoding, to_encoding, errors = "strict"):
-   return unicode(s, from_encoding, errors).encode(to_encoding, errors)
+   if isinstance(s, bytes):
+      s = s.decode(from_encoding, errors)
+   return s.encode(to_encoding, errors)
 
 
 def win2koi(s, errors = "strict"):
@@ -145,14 +144,14 @@ def koi2win(s, errors = "strict"):
 #
 
 def test():
-   print "bin(0x6) =", bin(0x6)
-   print "bin(0xC) =", bin(0xC)
+   print("bin(0x6) =", bin(0x6))
+   print("bin(0xC) =", bin(0xC))
 
-   print "'Test' left-padded :", LeftPad("Test", 20)
-   print "'Test' right-padded:", PadCh("Test", '*', 20)
-   print "'Test' centered    :", CenterCh("Test", '=', 20)
+   print("'Test' left-padded :", LeftPad("Test", 20))
+   print("'Test' right-padded:", PadCh("Test", '*', 20))
+   print("'Test' centered    :", CenterCh("Test", '=', 20))
 
-   print "'Олег':", koi2win(win2koi("Олег"))
+   print("'Олег':", koi2win(win2koi("Олег")))
 
 if __name__ == "__main__":
    test()