FreeBSD Bugzilla – Attachment 218671 Details for
Bug 249586
chinese/pyzy: depends on python 2.x
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
patch create_db.py for python3
pyzy-0.1.0_9.patch (text/plain), 4.01 KB, created by
Henry Hu
on 2020-10-11 20:28:25 UTC
(
hide
)
Description:
patch create_db.py for python3
Filename:
MIME Type:
Creator:
Henry Hu
Created:
2020-10-11 20:28:25 UTC
Size:
4.01 KB
patch
obsolete
>diff -ruN /usr/ports/chinese/pyzy/Makefile ./Makefile >--- /usr/ports/chinese/pyzy/Makefile 2019-11-08 04:31:13.000000000 -0500 >+++ ./Makefile 2020-10-11 16:04:56.196818000 -0400 >@@ -3,7 +3,7 @@ > > PORTNAME= pyzy > PORTVERSION= 0.1.0 >-PORTREVISION= 8 >+PORTREVISION= 9 > CATEGORIES= chinese > > MAINTAINER= henry.hu.sh@gmail.com >@@ -17,7 +17,7 @@ > GH_TAGNAME= 6d9c3cd > > USES= autoreconf compiler:c++11-lang gettext-runtime gmake gnome \ >- libtool pathfix pkgconfig python:2.7,build shebangfix >+ libtool pathfix pkgconfig python:3.7+,build shebangfix > SHEBANG_FILES= data/db/android/create_db.py > USE_GNOME= glib20 > USE_LDCONFIG= yes >diff -ruN /usr/ports/chinese/pyzy/files/patch-data_db_android_create__db.py ./files/patch-data_db_android_create__db.py >--- /usr/ports/chinese/pyzy/files/patch-data_db_android_create__db.py 1969-12-31 19:00:00.000000000 -0500 >+++ ./files/patch-data_db_android_create__db.py 2020-10-11 16:21:52.354582000 -0400 >@@ -0,0 +1,90 @@ >+--- data/db/android/create_db.py.orig 2020-10-11 20:12:08 UTC >++++ data/db/android/create_db.py >+@@ -3,27 +3,27 @@ from pydict import * >+ from id import * >+ from valid_hanzi import * >+ import sys >++from functools import cmp_to_key >+ >+ def get_sheng_yun(pinyin): >+ if pinyin == None: >+ return None, None >+ if pinyin == "ng": >+ return "", "en" >+- for i in xrange(2, 0, -1): >++ for i in range(2, 0, -1): >+ t = pinyin[:i] >+ if t in SHENGMU_DICT: >+ return t, pinyin[len(t):] >+ return "", pinyin >+ >+ def read_phrases(filename): >+- buf = file(filename).read() >+- buf = unicode(buf, "utf16") >++ buf = open(filename, encoding='utf-16').read() >+ buf = buf.strip() >+- for l in buf.split(u'\n'): >+- hanzi, freq, flag, pinyin = l.split(u' ', 3) >++ for l in buf.split('\n'): >++ hanzi, freq, flag, pinyin = l.split(' ', 3) >+ freq = float(freq) >+ pinyin = pinyin.split() >+- if any(map(lambda c: c not in valid_hanzi, hanzi)): >++ if any([c not in valid_hanzi for c in hanzi]): >+ continue >+ yield hanzi, freq, pinyin >+ >+@@ -33,9 +33,9 @@ def create_db(filename): >+ # con.execute ("PRAGMA synchronous = NORMAL;") >+ # con.execute ("PRAGMA temp_store = MEMORY;") >+ # con.execute ("PRAGMA default_cache_size = 5000;") >+- print "PRAGMA synchronous = NORMAL;" >+- print "PRAGMA temp_store = MEMORY;" >+- print "PRAGMA default_cache_size = 5000;" >++ print("PRAGMA synchronous = NORMAL;") >++ print("PRAGMA temp_store = MEMORY;") >++ print("PRAGMA default_cache_size = 5000;") >+ >+ >+ sql = "CREATE TABLE py_phrase_%d (phrase TEXT, freq INTEGER, %s);" >+@@ -44,12 +44,12 @@ def create_db(filename): >+ for j in range(0, i + 1): >+ column.append ("s%d INTEGER" % j) >+ column.append ("y%d INTEGER" % j) >+- print sql % (i, ",".join(column)) >++ print(sql % (i, ",".join(column))) >+ # con.execute(sql % (i, column)) >+ # con.commit() >+ >+ records = list(read_phrases(filename)) >+- records.sort(lambda a, b: 1 if a[1] > b[1] else -1) >++ records.sort(key=cmp_to_key(lambda a, b: 1 if a[1] > b[1] else -1)) >+ records_new = [] >+ i = 0 >+ max_freq = 0.0 >+@@ -60,7 +60,7 @@ def create_db(filename): >+ records_new.append((hanzi, i, pinyin)) >+ records_new.reverse() >+ >+- print "BEGIN;" >++ print("BEGIN;") >+ insert_sql = "INSERT INTO py_phrase_%d VALUES (%s);" >+ for hanzi, freq, pinyin in records_new: >+ columns = [] >+@@ -69,12 +69,12 @@ def create_db(filename): >+ s, y = pinyin_id[s], pinyin_id[y] >+ columns.append(s) >+ columns.append(y) >+- values = "'%s', %d, %s" % (hanzi.encode("utf8"), freq, ",".join(map(str,columns))) >++ values = "'%s', %d, %s" % (hanzi, freq, ",".join(map(str,columns))) >+ >+ sql = insert_sql % (len(hanzi) - 1, values) >+- print sql >+- print "COMMIT;" >+- print "VACUUM;" >++ print(sql) >++ print("COMMIT;") >++ print("VACUUM;") >+ >+ def main(): >+ create_db(sys.argv[1])
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 249586
: 218671