Skip to content

Commit 4fa6985

Browse files
author
Kazuki Suzuki Przyborowski
committed
Small update
1 parent 8d10a27 commit 4fa6985

File tree

2 files changed

+35
-17
lines changed

2 files changed

+35
-17
lines changed

setup.py

Lines changed: 32 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -50,20 +50,38 @@ def pillow_installed():
5050
extras_requires_dict = {'drawing_barcodes': extras_requires}
5151

5252
pygenbuildinfo = True
53-
verinfofilename = os.path.realpath(
54-
"."+os.path.sep+"upcean"+os.path.sep+"versioninfo.py")
55-
verinfofile = open(verinfofilename, "r")
56-
verinfodata = verinfofile.read()
57-
verinfofile.close()
58-
setuppy_verinfo_esc = re.escape("__version_info__ = (")+"(.*)"+re.escape(");")
59-
setuppy_verinfo = re.findall(setuppy_verinfo_esc, verinfodata)[0]
60-
setuppy_verinfo_exp = [vergetspt.strip().replace("\"", "")
61-
for vergetspt in setuppy_verinfo.split(',')]
62-
setuppy_dateinfo_esc = re.escape(
63-
"__version_date_info__ = (")+"(.*)"+re.escape(");")
64-
setuppy_dateinfo = re.findall(setuppy_dateinfo_esc, verinfodata)[0]
65-
setuppy_dateinfo_exp = [vergetspt.strip().replace("\"", "")
66-
for vergetspt in setuppy_dateinfo.split(',')]
53+
# Open and read the version info file in a Python 2/3 compatible way
54+
verinfofilename = os.path.realpath("." + os.path.sep + "upcean" + os.path.sep + "versioninfo.py")
55+
56+
# Use `with` to ensure the file is properly closed after reading
57+
# In Python 2, open defaults to text mode; in Python 3, it’s better to specify encoding
58+
open_kwargs = {'encoding': 'utf-8'} if sys.version_info[0] >= 3 else {}
59+
with open(verinfofilename, "r", **open_kwargs) as verinfofile:
60+
verinfodata = verinfofile.read()
61+
62+
# Define the regex pattern for extracting version info
63+
# We ensure the pattern works correctly in both Python 2 and 3 by escaping the strings properly
64+
version_pattern = "__version_info__ = \(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*['\"]([\w\s]+)['\"]\s*,\s*(\d+)\s*\)"
65+
setuppy_verinfo = re.findall(version_pattern, verinfodata)[0]
66+
67+
# If version info is found, process it; handle the case where no match is found
68+
if setuppy_verinfo:
69+
setuppy_verinfo_exp = setuppy_verinfo
70+
else:
71+
print("Version info not found.")
72+
setuppy_verinfo_exp = None # Handle missing version info gracefully
73+
74+
# Define the regex pattern for extracting version date info
75+
date_pattern = "__version_date_info__ = \(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*['\"]([\w\s]+)['\"]\s*,\s*(\d+)\s*\)"
76+
setuppy_dateinfo = re.findall(date_pattern, verinfodata)[0]
77+
78+
# If date info is found, process it; handle the case where no match is found
79+
if setuppy_dateinfo:
80+
setuppy_dateinfo_exp = setuppy_dateinfo
81+
else:
82+
print("Date info not found.")
83+
setuppy_dateinfo_exp = None # Handle missing date info gracefully
84+
6785
pymodule = {}
6886
pymodule['version'] = str(setuppy_verinfo_exp[0])+"." + \
6987
str(setuppy_verinfo_exp[1])+"."+str(setuppy_verinfo_exp[2])

upcean/versioninfo.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
Copyright 2011-2023 Game Maker 2k - https://github.com/GameMaker2k
1212
Copyright 2011-2023 Kazuki Przyborowski - https://github.com/KazukiPrzyborowski
1313
14-
$FileInfo: versioninfo.py - Last Update: 9/6/2023 Ver. 2.10.5 RC 1 - Author: cooldude2k $
14+
$FileInfo: versioninfo.py - Last Update: 10/22/2024 Ver. 2.10.6 RC 1 - Author: cooldude2k $
1515
'''
1616

1717
from __future__ import absolute_import, division, print_function, unicode_literals, generators, with_statement, nested_scopes
@@ -67,7 +67,7 @@
6767
__status__ = "Production"
6868
__project__ = "PyUPC-EAN"
6969
__project_url__ = "https://pypi.python.org/pypi/PyUPC-EAN"
70-
__version_info__ = (2, 10, 5, "RC 1", 1)
70+
__version_info__ = (2, 10, 6, "RC 1", 1)
7171
__build_time__ = {"timestamp": None, "year": None, "month": None,
7272
"day": None, "hour": None, "minute": None, "second": None}
7373
__build_time_utc__ = {"timestamp": None, "year": None, "month": None,
@@ -105,7 +105,7 @@ def version_info():
105105
return {"major": __version_info__[0], "minor": __version_info__[1], "build": __version_info__[2], "release": None}
106106

107107

108-
__version_date_info__ = (2023, 9, 6, "RC 1", 1)
108+
__version_date_info__ = (2024, 10, 22, "RC 1", 1)
109109

110110

111111
def version_date():

0 commit comments

Comments
 (0)