svn commit: r559827 - in head/chinese/pyzy: . files
Rene Ladan
rene at FreeBSD.org
Fri Jan 1 13:27:53 UTC 2021
Author: rene
Date: Fri Jan 1 13:27:52 2021
New Revision: 559827
URL: https://svnweb.freebsd.org/changeset/ports/559827
Log:
chinese/pyzy: build with Python 3 instead of expired Python 2.7
PR: 249586
Submitted by: swills (patch from maintainer)
Added:
head/chinese/pyzy/files/patch-data_db_android_create__db.py (contents, props changed)
Modified:
head/chinese/pyzy/Makefile
Modified: head/chinese/pyzy/Makefile
==============================================================================
--- head/chinese/pyzy/Makefile Fri Jan 1 12:24:00 2021 (r559826)
+++ head/chinese/pyzy/Makefile Fri Jan 1 13:27:52 2021 (r559827)
@@ -3,7 +3,7 @@
PORTNAME= pyzy
PORTVERSION= 0.1.0
-PORTREVISION= 8
+PORTREVISION= 9
CATEGORIES= chinese
MAINTAINER= henry.hu.sh at gmail.com
@@ -13,12 +13,11 @@ LICENSE= LGPL21
LIB_DEPENDS= libsqlite3.so:databases/sqlite3
-USE_GITHUB= yes
-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_GITHUB= yes
+GH_TAGNAME= 6d9c3cd
USE_GNOME= glib20
USE_LDCONFIG= yes
Added: head/chinese/pyzy/files/patch-data_db_android_create__db.py
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/chinese/pyzy/files/patch-data_db_android_create__db.py Fri Jan 1 13:27:52 2021 (r559827)
@@ -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])
More information about the svn-ports-head
mailing list