diff options
author | Ned Batchelder <ned@nedbatchelder.com> | 2009-09-30 08:45:39 -0400 |
---|---|---|
committer | Ned Batchelder <ned@nedbatchelder.com> | 2009-09-30 08:45:39 -0400 |
commit | b4fde64f19d8d4250fa05a7228d94f436f803382 (patch) | |
tree | 3165d293f6c0066e2df14b5c62ced6467e57ff31 /coverage/codeunit.py | |
parent | eb39082eff83d5d438be40b5254a712aebf0eeb5 (diff) | |
download | python-coveragepy-git-b4fde64f19d8d4250fa05a7228d94f436f803382.tar.gz |
Last clean up on the egg-reading code. Fixes issue #25.
Diffstat (limited to 'coverage/codeunit.py')
-rw-r--r-- | coverage/codeunit.py | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/coverage/codeunit.py b/coverage/codeunit.py index d85735de..79ae4f0e 100644 --- a/coverage/codeunit.py +++ b/coverage/codeunit.py @@ -86,7 +86,6 @@ class CodeUnit: self.name = n self.modname = modname - def __repr__(self): return "<CodeUnit name=%r filename=%r>" % (self.name, self.filename) @@ -129,12 +128,16 @@ class CodeUnit: def source_file(self): """Return an open file for reading the source of the code unit.""" - if not os.path.exists(self.filename): - source = self.file_locator.get_zip_data(self.filename) - if source is None: - raise CoverageException( - "No source for code %r." % self.filename - ) + if os.path.exists(self.filename): + # A regular text file: open it. + return open(self.filename) + + # Maybe it's in a zip file? + source = self.file_locator.get_zip_data(self.filename) + if source is not None: return StringIO(source) - - return open(self.filename) + + # Couldn't find source. + raise CoverageException( + "No source for code %r." % self.filename + ) |