From 9681a8f11e84ae57abc7cbfba807ca847884e5a5 Mon Sep 17 00:00:00 2001 From: Brett Cannon Date: Fri, 28 Jan 2011 13:53:20 -0800 Subject: Open source files with the proper encoding. --- coverage/parser.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'coverage/parser.py') diff --git a/coverage/parser.py b/coverage/parser.py index ae618ce..4dca577 100644 --- a/coverage/parser.py +++ b/coverage/parser.py @@ -22,7 +22,10 @@ class CodeParser(object): self.text = text if not self.text: try: - sourcef = open(self.filename, 'rU') + if hasattr(tokenize, 'open'): # Python 3.2 and later + sourcef = tokenize.open(self.filename) + else: + sourcef = open(self.filename, 'rU') self.text = sourcef.read() sourcef.close() except IOError: @@ -30,7 +33,6 @@ class CodeParser(object): raise NoSource( "No source for code: %r: %s" % (self.filename, err) ) - self.text = self.text.replace('\r\n', '\n') self.exclude = exclude -- cgit v1.2.1 From 2e37d40a9eceff624d27e25fe352c7e1855641d1 Mon Sep 17 00:00:00 2001 From: Ned Batchelder Date: Sun, 30 Jan 2011 09:42:00 -0500 Subject: Isolate the open/tokenize.open distinction into backward.py --- coverage/parser.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'coverage/parser.py') diff --git a/coverage/parser.py b/coverage/parser.py index 4dca577..a71ac10 100644 --- a/coverage/parser.py +++ b/coverage/parser.py @@ -3,6 +3,7 @@ import glob, opcode, os, re, sys, token, tokenize from coverage.backward import set, sorted, StringIO # pylint: disable-msg=W0622 +from coverage.backward import open_source from coverage.bytecode import ByteCodes, CodeObjects from coverage.misc import nice_pair, CoverageException, NoSource, expensive @@ -22,10 +23,7 @@ class CodeParser(object): self.text = text if not self.text: try: - if hasattr(tokenize, 'open'): # Python 3.2 and later - sourcef = tokenize.open(self.filename) - else: - sourcef = open(self.filename, 'rU') + sourcef = open_source(self.filename) self.text = sourcef.read() sourcef.close() except IOError: -- cgit v1.2.1 From adf371a94bb59e76502611adafc1fb6640608bf6 Mon Sep 17 00:00:00 2001 From: Ned Batchelder Date: Sun, 30 Jan 2011 11:49:52 -0500 Subject: A bunch more places where a file close should be in a finally clause. --- coverage/parser.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'coverage/parser.py') diff --git a/coverage/parser.py b/coverage/parser.py index a71ac10..3dee80e 100644 --- a/coverage/parser.py +++ b/coverage/parser.py @@ -24,8 +24,10 @@ class CodeParser(object): if not self.text: try: sourcef = open_source(self.filename) - self.text = sourcef.read() - sourcef.close() + try: + self.text = sourcef.read() + finally: + sourcef.close() except IOError: _, err, _ = sys.exc_info() raise NoSource( @@ -303,8 +305,10 @@ class ByteParser(object): if not text: assert filename, "If no code or text, need a filename" sourcef = open(filename, 'rU') - text = sourcef.read() - sourcef.close() + try: + text = sourcef.read() + finally: + sourcef.close() try: # Python 2.3 and 2.4 don't like partial last lines, so be sure -- cgit v1.2.1 From 71a76ea9db424bd5532fcf9d226f552ec290554c Mon Sep 17 00:00:00 2001 From: Ned Batchelder Date: Sun, 30 Jan 2011 11:56:52 -0500 Subject: A couple more places to use open_source instead of open(fname, 'rU') --- coverage/parser.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'coverage/parser.py') diff --git a/coverage/parser.py b/coverage/parser.py index 3dee80e..60088ae 100644 --- a/coverage/parser.py +++ b/coverage/parser.py @@ -304,7 +304,7 @@ class ByteParser(object): else: if not text: assert filename, "If no code or text, need a filename" - sourcef = open(filename, 'rU') + sourcef = open_source(filename) try: text = sourcef.read() finally: -- cgit v1.2.1 From ed554fe8552d3810252d485dd7ae4d4302822681 Mon Sep 17 00:00:00 2001 From: Ned Batchelder Date: Tue, 1 Feb 2011 22:46:41 -0500 Subject: Pylint 0.23.0 'deprecated' disable-msg. --- coverage/parser.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'coverage/parser.py') diff --git a/coverage/parser.py b/coverage/parser.py index 60088ae..8ad4e05 100644 --- a/coverage/parser.py +++ b/coverage/parser.py @@ -2,7 +2,7 @@ import glob, opcode, os, re, sys, token, tokenize -from coverage.backward import set, sorted, StringIO # pylint: disable-msg=W0622 +from coverage.backward import set, sorted, StringIO # pylint: disable=W0622 from coverage.backward import open_source from coverage.bytecode import ByteCodes, CodeObjects from coverage.misc import nice_pair, CoverageException, NoSource, expensive -- cgit v1.2.1