commit d0693ba9f2686ffa46328da129ffef345258fa12
Author: Peng Wu <alexepico@gmail.com>
Date:   Thu Jul 26 15:08:41 2018 +0800

    Use python3

Index: sunpinyin-20190805/SConstruct
===================================================================
--- sunpinyin-20190805.orig/SConstruct
+++ sunpinyin-20190805/SConstruct
@@ -299,11 +299,11 @@ def CheckPKG(context, name):
 
 def CheckPython(context):
     context.Message('Checking for Python library...')
-    ret = context.TryAction('python-config --prefix')[0]
+    ret = context.TryAction('python3-config --prefix')[0]
     context.Result(ret)
     if ret:
-        context.env.MergeFlags(['!python-config --includes',
-                                '!python-config --libs'])
+        context.env.MergeFlags(['!python3-config --includes',
+                                '!python3-config --libs'])
     return ret
 
 
Index: sunpinyin-20190805/python/pinyin_info_gen.py
===================================================================
--- sunpinyin-20190805.orig/python/pinyin_info_gen.py
+++ sunpinyin-20190805/python/pinyin_info_gen.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python 
+#!/usr/bin/python3
 
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
 # 
@@ -38,60 +38,60 @@
 from pinyin_data import *
 
 def fmt_str_array (name, var) :
-    print 'static const char *%s[] = { %s };' % (name, ', '.join ('"%s"' % s for s in var))
+    print('static const char *%s[] = { %s };' % (name, ', '.join ('"%s"' % s for s in var)))
 
 def fmt_array_size (name):
-    print 'static const unsigned num_%s = sizeof(%s) / sizeof(*%s);' % (name, name, name)
+    print('static const unsigned num_%s = sizeof(%s) / sizeof(*%s);' % (name, name, name))
 
 def fmt_str_pair_array (name, var) :
-    print 'static const char *%s[] = {' % name
+    print('static const char *%s[] = {' % name)
     for s1, s2 in var:
-        print '    %-7s %s' % ('"%s",' % s1, '"%s",' % s2)
-    print '};'
+        print('    %-7s %s' % ('"%s",' % s1, '"%s",' % s2))
+    print('};')
 
 def fmt_pair_array_size (name):
-    print 'static const unsigned num_%s = sizeof(%s) / sizeof(*%s) / 2;' % (name, name, name)
+    print('static const unsigned num_%s = sizeof(%s) / sizeof(*%s) / 2;' % (name, name, name))
 
 fmt_str_array ('initials', initials)
 fmt_array_size ('initials')
-print ''
+print('')
 
 fmt_str_array('finals', finals)
 fmt_array_size ('finals')
-print ''
+print('')
 
 fmt_str_array('fuzzy_finals', inner_fuzzy_finals)
 fmt_array_size ('fuzzy_finals')
-print ''
+print('')
 
 fmt_str_pair_array ('fuzzy_pairs', fuzzy_pairs)
 fmt_pair_array_size ('fuzzy_pairs')
-print ''
+print('')
 
 fmt_str_pair_array ('auto_correction_pairs', sorted(auto_correction_pairs.items()))
 fmt_pair_array_size ('auto_correction_pairs')
-print ''
+print('')
 
-print 'static const unsigned fuzzy_finals_map [] = {'
+print('static const unsigned fuzzy_finals_map [] = {')
 for s in inner_fuzzy_finals:
-    print '    %-7s %-7s %-7s /* %-4s -> %-4s len %d */' % ('0x%02x,' % finals.index(s), '0x%02x,' % valid_syllables[s[1:]], '%d,' % (len(s)-1,),  s, s[1:], len(s)-1)
-print '};\n'
+    print('    %-7s %-7s %-7s /* %-4s -> %-4s len %d */' % ('0x%02x,' % finals.index(s), '0x%02x,' % valid_syllables[s[1:]], '%d,' % (len(s)-1,),  s, s[1:], len(s)-1))
+print('};\n')
 
-print 'static const TPyTabEntry pinyin_table[] = {'
+print('static const TPyTabEntry pinyin_table[] = {')
 for syllable, hex_syllable in sorted(valid_syllables.items()):
-    print '    { %-9s %s },' % ('"%s",' % syllable, '0x%05x' % hex_syllable)
-print '};\n'
+    print('    { %-9s %s },' % ('"%s",' % syllable, '0x%05x' % hex_syllable))
+print('};\n')
 
-print 'static const unsigned fuzzy_pre_syllables [] = {'
+print('static const unsigned fuzzy_pre_syllables [] = {')
 for s in fuzzy_pre_syllables:
-    print '    %-11s %-7s %-11s /* %s */' % ('0x%05x,' % valid_syllables[s[:-1]], "'%s'," % s[-1], '0x%05x,' % valid_syllables[s], s)
-print '    0x0,'
-print '};\n'
+    print('    %-11s %-7s %-11s /* %s */' % ('0x%05x,' % valid_syllables[s[:-1]], "'%s'," % s[-1], '0x%05x,' % valid_syllables[s], s))
+print('    0x0,')
+print('};\n')
 
-print 'static const unsigned fuzzy_pro_syllables [] = {'
+print('static const unsigned fuzzy_pro_syllables [] = {')
 for s in fuzzy_pro_syllables:
-    print '    %-11s %-7s %-11s /* %s */' % ('0x%05x,' % valid_syllables[s], "'%s'," % s[0], '0x%05x,' % valid_syllables[s[1:]], s)
-print '    0x0,'
-print '};\n'
+    print('    %-11s %-7s %-11s /* %s */' % ('0x%05x,' % valid_syllables[s], "'%s'," % s[0], '0x%05x,' % valid_syllables[s[1:]], s))
+print('    0x0,')
+print('};\n')
 
 # -*- indent-tabs-mode: nil -*- vim:et:ts=4
Index: sunpinyin-20190805/python/quanpin_trie_gen.py
===================================================================
--- sunpinyin-20190805.orig/python/quanpin_trie_gen.py
+++ sunpinyin-20190805/python/quanpin_trie_gen.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python 
+#!/usr/bin/python3
 
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
 # 
@@ -42,7 +42,7 @@ import sys
 orig_trie = trie.Trie ()
 pytrie = trie.DATrie ()
 
-for syllable, hex_syllable in pinyin_data.valid_syllables.items():
+for syllable, hex_syllable in list(pinyin_data.valid_syllables.items()):
     orig_trie.add(syllable[::-1], hex_syllable)
 
 pytrie.construct_from_trie (orig_trie)
Index: sunpinyin-20190805/python/trie.py
===================================================================
--- sunpinyin-20190805.orig/python/trie.py
+++ sunpinyin-20190805/python/trie.py
@@ -133,7 +133,7 @@ class DATrie (object):
 
         trie = Trie()
         for w in words:
-            trie.add (w, itval.next() if itval else -1)
+            trie.add (w, next(itval) if itval else -1)
 
         self.construct_from_trie (trie, values!=None)
 
@@ -161,7 +161,7 @@ class DATrie (object):
                 if progress_cb:
                     progress_cb ()
 
-        for i in xrange (self.chr_encoder (max(trie.root.trans))+1):
+        for i in range (self.chr_encoder (max(trie.root.trans))+1):
             if self.check[i] == -1:
                 self.check[i] = 0
 
@@ -272,7 +272,7 @@ def test ():
         v, l = match_longest (datrie, s+'b')
         assert (len(s) == l and valid_syllables[s] == v)
 
-    print 'test executed successfully'
+    print('test executed successfully')
 
 if __name__ == "__main__":
     test ()
