Commits

Jakub Wilk  committed 39fc217

Make 2.X → 3.X conversions automatic.

  • Participants
  • Parent commits ebfaf22

Comments (0)

Files changed (3)

 '''.strip().split('\n')
 
 import os
+import sys
+
 import distutils.core
+import distutils.command.build_py
+
+if sys.version_info >= (3,):
+    build_py = distutils.command.build_py.build_py_2to3
+else:
+    build_py = distutils.command.build_py.build_py
 
 os.putenv('TAR_OPTIONS', '--owner root --group root --mode a+rX')
 
     author = 'Jakub Wilk',
     author_email = 'jwilk@jwilk.net',
     py_modules = ['slownie'],
+    cmdclass = dict(build_py=build_py),
 )
 
 # vim:ts=4 sw=4 et
 
 SLOWNIE_10X = u'''
 # # dwadzieścia trzydzieści czterdzieści
-'''.split() + [u'%sdziesiąt' % SLOWNIE_1X[i] for i in xrange(5, 10)]
-del i
+'''.split() + list(u'%sdziesiąt' % SLOWNIE_1X[i] for i in xrange(5, 10))
 
 SLOWNIE_100X = u'''
 # sto dwieście trzysta czterysta
-'''.split() + [u'%sset' % SLOWNIE_1X[i] for i in xrange(5, 10)]
-del i
+'''.split() + list(u'%sset' % SLOWNIE_1X[i] for i in xrange(5, 10))
 
 SLOWNIE_1X[0] = SLOWNIE_10X[0] = SLOWNIE_10X[1] = SLOWNIE_100X[0] = None
 
 
 SLOWNIE_1000XX = \
     [None, (u'tysiąc', u'tysiące', u'tysięcy')] + \
-    [(base, base + u'y', base + u'ów') for i in xrange(2 * len(PREFIXES)) for base in [PREFIXES[i >> 1] + (i & 1 and u'liard' or u'lion')]]
-del i, base
+    list((base, base + u'y', base + u'ów') for i in xrange(2 * len(PREFIXES)) for base in [PREFIXES[i >> 1] + (i & 1 and u'liard' or u'lion')])
 
 SLOWNIE_0 = u'zero'
 
 # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 # SOFTWARE.
 
+import sys
 import unittest
 
 import slownie
 
 data = {
-    0: u'zero',
-    1: u'jeden',
-    2: u'dwa',
-    4: u'cztery',
-    8: u'osiem',
-    16: u'szesnaście',
-    17: u'siedemnaście',
-    23: u'dwadzieścia trzy',
-    32: u'trzydzieści dwa',
-    37: u'trzydzieści siedem',
-    42: u'czterdzieści dwa',
-    64: u'sześćdziesiąt cztery',
-    69: u'sześćdziesiąt dziewięć',
-    105: u'sto pięć',
-    128: u'sto dwadzieścia osiem',
-    256: u'dwieście pięćdziesiąt sześć',
-    512: u'pięćset dwanaście',
-    666: u'sześćset sześćdziesiąt sześć',
-    1024: (u'tysiąc dwadzieścia cztery', u'jeden tysiąc dwadzieścia cztery'),
-    1 << 11: u'dwa tysiące czterdzieści osiem',
-    1 << 12: u'cztery tysiące dziewięćdziesiąt sześć',
-    1 << 13: u'osiem tysięcy sto dziewięćdziesiąt dwa',
-    1 << 14: u'szesnaście tysięcy trzysta osiemdziesiąt cztery',
-    1 << 15: u'trzydzieści dwa tysiące siedemset sześćdziesiąt osiem',
-    1 << 16: u'sześćdziesiąt pięć tysięcy pięćset trzydzieści sześć',
-    1 << 17: u'sto trzydzieści jeden tysięcy siedemdziesiąt dwa',
-    1 << 18: u'dwieście sześćdziesiąt dwa tysiące sto czterdzieści cztery',
-    1 << 19: u'pięćset dwadzieścia cztery tysiące dwieście osiemdziesiąt osiem',
-    1 << 20: (u'milion czterdzieści osiem tysięcy pięćset siedemdziesiąt sześć', u'jeden milion czterdzieści osiem tysięcy pięćset siedemdziesiąt sześć'),
-    10 ** 9: (u'miliard', u'jeden miliard'),
-    17 ** 17: u'osiemset dwadzieścia siedem trylionów dwieście czterdzieści biliardów dwieście sześćdziesiąt jeden bilionów osiemset osiemdziesiąt sześć miliardów trzysta trzydzieści sześć milionów siedemset sześćdziesiąt cztery tysiące sto siedemdziesiąt siedem',
-    10 ** 66 - 1: u'dziewięćset dziewięćdziesiąt dziewięć decyliardów dziewięćset dziewięćdziesiąt dziewięć decylionów dziewięćset dziewięćdziesiąt dziewięć noniliardów dziewięćset dziewięćdziesiąt dziewięć nonilionów dziewięćset dziewięćdziesiąt dziewięć oktyliardów dziewięćset dziewięćdziesiąt dziewięć oktylionów dziewięćset dziewięćdziesiąt dziewięć septyliardów dziewięćset dziewięćdziesiąt dziewięć septylionów dziewięćset dziewięćdziesiąt dziewięć sekstyliardów dziewięćset dziewięćdziesiąt dziewięć sekstylionów dziewięćset dziewięćdziesiąt dziewięć kwintyliardów dziewięćset dziewięćdziesiąt dziewięć kwintylionów dziewięćset dziewięćdziesiąt dziewięć kwadryliardów dziewięćset dziewięćdziesiąt dziewięć kwadrylionów dziewięćset dziewięćdziesiąt dziewięć tryliardów dziewięćset dziewięćdziesiąt dziewięć trylionów dziewięćset dziewięćdziesiąt dziewięć biliardów dziewięćset dziewięćdziesiąt dziewięć bilionów dziewięćset dziewięćdziesiąt dziewięć miliardów dziewięćset dziewięćdziesiąt dziewięć milionów dziewięćset dziewięćdziesiąt dziewięć tysięcy dziewięćset dziewięćdziesiąt dziewięć',
+    0: 'zero',
+    1: 'jeden',
+    2: 'dwa',
+    4: 'cztery',
+    8: 'osiem',
+    16: 'szesnaście',
+    17: 'siedemnaście',
+    23: 'dwadzieścia trzy',
+    32: 'trzydzieści dwa',
+    37: 'trzydzieści siedem',
+    42: 'czterdzieści dwa',
+    64: 'sześćdziesiąt cztery',
+    69: 'sześćdziesiąt dziewięć',
+    105: 'sto pięć',
+    128: 'sto dwadzieścia osiem',
+    256: 'dwieście pięćdziesiąt sześć',
+    512: 'pięćset dwanaście',
+    666: 'sześćset sześćdziesiąt sześć',
+    1024: ('tysiąc dwadzieścia cztery', 'jeden tysiąc dwadzieścia cztery'),
+    1 << 11: 'dwa tysiące czterdzieści osiem',
+    1 << 12: 'cztery tysiące dziewięćdziesiąt sześć',
+    1 << 13: 'osiem tysięcy sto dziewięćdziesiąt dwa',
+    1 << 14: 'szesnaście tysięcy trzysta osiemdziesiąt cztery',
+    1 << 15: 'trzydzieści dwa tysiące siedemset sześćdziesiąt osiem',
+    1 << 16: 'sześćdziesiąt pięć tysięcy pięćset trzydzieści sześć',
+    1 << 17: 'sto trzydzieści jeden tysięcy siedemdziesiąt dwa',
+    1 << 18: 'dwieście sześćdziesiąt dwa tysiące sto czterdzieści cztery',
+    1 << 19: 'pięćset dwadzieścia cztery tysiące dwieście osiemdziesiąt osiem',
+    1 << 20: ('milion czterdzieści osiem tysięcy pięćset siedemdziesiąt sześć', 'jeden milion czterdzieści osiem tysięcy pięćset siedemdziesiąt sześć'),
+    10 ** 9: ('miliard', 'jeden miliard'),
+    17 ** 17: 'osiemset dwadzieścia siedem trylionów dwieście czterdzieści biliardów dwieście sześćdziesiąt jeden bilionów osiemset osiemdziesiąt sześć miliardów trzysta trzydzieści sześć milionów siedemset sześćdziesiąt cztery tysiące sto siedemdziesiąt siedem',
+    10 ** 66 - 1: 'dziewięćset dziewięćdziesiąt dziewięć decyliardów dziewięćset dziewięćdziesiąt dziewięć decylionów dziewięćset dziewięćdziesiąt dziewięć noniliardów dziewięćset dziewięćdziesiąt dziewięć nonilionów dziewięćset dziewięćdziesiąt dziewięć oktyliardów dziewięćset dziewięćdziesiąt dziewięć oktylionów dziewięćset dziewięćdziesiąt dziewięć septyliardów dziewięćset dziewięćdziesiąt dziewięć septylionów dziewięćset dziewięćdziesiąt dziewięć sekstyliardów dziewięćset dziewięćdziesiąt dziewięć sekstylionów dziewięćset dziewięćdziesiąt dziewięć kwintyliardów dziewięćset dziewięćdziesiąt dziewięć kwintylionów dziewięćset dziewięćdziesiąt dziewięć kwadryliardów dziewięćset dziewięćdziesiąt dziewięć kwadrylionów dziewięćset dziewięćdziesiąt dziewięć tryliardów dziewięćset dziewięćdziesiąt dziewięć trylionów dziewięćset dziewięćdziesiąt dziewięć biliardów dziewięćset dziewięćdziesiąt dziewięć bilionów dziewięćset dziewięćdziesiąt dziewięć miliardów dziewięćset dziewięćdziesiąt dziewięć milionów dziewięćset dziewięćdziesiąt dziewięć tysięcy dziewięćset dziewięćdziesiąt dziewięć',
 }
 
 
         self.seq = range(10)
 
     def test_normal(self):
-        for key, expected in data.iteritems():
+        for key, expected in data.items():
             if isinstance(expected, tuple):
                 expected0, expected1 = expected
             else:
                 expected0 = expected1 = expected
+            if sys.version_info < (3,):
+                expected0 = expected0.decode('UTF-8')
+                expected1 = expected1.decode('UTF-8')
             slownie.slownie(key) == expected0
             slownie.slownie(key, jeden=True) == expected1