[Python-checkins] r86303 - in python/branches/py3k: Lib/trace.py Misc/NEWS

victor.stinner python-checkins at python.org
Sun Nov 7 16:47:36 CET 2010


Author: victor.stinner
Date: Sun Nov 7 16:47:36 2010
New Revision: 86303
Log:
Issue #10329: The trace module writes reports using the input Python script
encoding, instead of the locale encoding. Patch written by Alexander
Belopolsky.
Modified:
 python/branches/py3k/Lib/trace.py
 python/branches/py3k/Misc/NEWS
Modified: python/branches/py3k/Lib/trace.py
==============================================================================
--- python/branches/py3k/Lib/trace.py	(original)
+++ python/branches/py3k/Lib/trace.py	Sun Nov 7 16:47:36 2010
@@ -330,9 +330,10 @@
 
 source = linecache.getlines(filename)
 coverpath = os.path.join(dir, modulename + ".cover")
+ with open(filename, 'rb') as fp:
+ encoding, _ = tokenize.detect_encoding(fp.readline)
 n_hits, n_lines = self.write_results_file(coverpath, source,
- lnotab, count)
-
+ lnotab, count, encoding)
 if summary and n_lines:
 percent = int(100 * n_hits / n_lines)
 sums[modulename] = n_lines, percent, modulename, filename
@@ -351,11 +352,11 @@
 except IOError as err:
 print("Can't save counts files because %s" % err, file=sys.stderr)
 
- def write_results_file(self, path, lines, lnotab, lines_hit):
+ def write_results_file(self, path, lines, lnotab, lines_hit, encoding=None):
 """Return a coverage results file in path."""
 
 try:
- outfile = open(path, "w")
+ outfile = open(path, "w", encoding=encoding)
 except IOError as err:
 print(("trace: Could not open %r for writing: %s"
 "- skipping" % (path, err)), file=sys.stderr)
Modified: python/branches/py3k/Misc/NEWS
==============================================================================
--- python/branches/py3k/Misc/NEWS	(original)
+++ python/branches/py3k/Misc/NEWS	Sun Nov 7 16:47:36 2010
@@ -65,6 +65,10 @@
 Library
 -------
 
+- Issue #10329: The trace module writes reports using the input Python script
+ encoding, instead of the locale encoding. Patch written by Alexander
+ Belopolsky.
+
 - Issue #10126: Fix distutils' test_build when Python was built with
 --enable-shared.
 


More information about the Python-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /