summaryrefslogtreecommitdiff
path: root/coverage/codeunit.py
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2012-04-18 07:27:59 -0400
committerNed Batchelder <ned@nedbatchelder.com>2012-04-18 07:27:59 -0400
commit67ea897f611a86fee7e3846ad3c4bc564cac6264 (patch)
tree0db0e454bdb19340045a8645a5a227e151af2cc3 /coverage/codeunit.py
parentfa22473c99e37399a83ea074b6528fa9496bb038 (diff)
downloadpython-coveragepy-git-67ea897f611a86fee7e3846ad3c4bc564cac6264.tar.gz
Don't complain about files that can't be parsed as Python if they didn't seem like Python at all. #82.
Diffstat (limited to 'coverage/codeunit.py')
-rw-r--r--coverage/codeunit.py20
1 files changed, 20 insertions, 0 deletions
diff --git a/coverage/codeunit.py b/coverage/codeunit.py
index 55f44a24..1999c50c 100644
--- a/coverage/codeunit.py
+++ b/coverage/codeunit.py
@@ -115,3 +115,23 @@ class CodeUnit(object):
raise CoverageException(
"No source for code %r." % self.filename
)
+
+ def should_be_python(self):
+ """Does it seem like this file should contain Python?
+
+ This is used to decide if a file reported as part of the exection of
+ a program was really likely to have contained Python in the first
+ place.
+
+ """
+ # Get the file extension.
+ _, ext = os.path.splitext(self.filename)
+
+ # Anything named *.py* should be Python.
+ if ext.startswith('.py'):
+ return True
+ # A file with no extension should be Python.
+ if not ext:
+ return True
+ # Everything else is probably not Python.
+ return False