Author: ivan
Date: Thu Jul 16 11:22:07 2026
New Revision: 1936200
Log:
Make l10n-report.py work with Python3.
* tools/po/l10n-report.py
(l10nReport.safe_command): Decode and encode stdin/stdout/stderr streams.
(l10nReport.match): Use isinstance(str) instead of isinstance(basestring).
(bar_graph): Explicitly cast to int.
(main): Properly escape string literal.
Modified:
subversion/trunk/tools/po/l10n-report.py
Modified: subversion/trunk/tools/po/l10n-report.py
==============================================================================
--- subversion/trunk/tools/po/l10n-report.py Thu Jul 16 10:50:26 2026
(r1936199)
+++ subversion/trunk/tools/po/l10n-report.py Thu Jul 16 11:22:07 2026
(r1936200)
@@ -77,11 +77,11 @@ class l10nReport:
[stdout, stderr] = subprocess.Popen(cmd_and_args, \
stdin=subprocess.PIPE, \
stdout=subprocess.PIPE, \
- stderr=subprocess.PIPE).communicate(input=cmd_in)
- return stdout, stderr
+
stderr=subprocess.PIPE).communicate(input=cmd_in.encode('UTF-8'))
+ return stdout.decode('UTF-8'), stderr.decode('UTF-8')
def match(self, pattern, string):
- if isinstance(pattern, basestring):
+ if isinstance(pattern, str):
pattern = re.compile(pattern)
match = re.compile(pattern).search(string)
if match and match.groups():
@@ -146,7 +146,7 @@ def bar_graph(nominal_length, trans, unt
for count, letter in [(trans, '+'), (untrans, 'U'), (fuzzy, '~'),
(obsolete, 'o')]:
accum_count += count
- new_bar_end = nominal_length * accum_count / total_count
+ new_bar_end = int(nominal_length * accum_count / total_count)
s += letter * (new_bar_end - accum_bar)
accum_bar = new_bar_end
return s
@@ -179,7 +179,7 @@ def main():
sys.exit(0)
po_dir = 'subversion/po'
- branch_name = l10n.match('URL:.*/asf/subversion/(\S+)', info_out)
+ branch_name = l10n.match('URL:.*/asf/subversion/(\\S+)', info_out)
[info_out, info_err] = l10n.safe_command(['svnversion', po_dir])
if info_err:
sys.stderr.write("\nError: %s\n" % info_err)