summaryrefslogtreecommitdiff
path: root/coverage/report.py
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2009-03-13 07:26:17 -0400
committerNed Batchelder <ned@nedbatchelder.com>2009-03-13 07:26:17 -0400
commit1aff296970383b278915a4be54ba6bb7edf21aed (patch)
tree3da0ba528eeac840e540631ed8407f9922e5795d /coverage/report.py
parent39223c49237305877b7f032ab0b8c5567eb9c033 (diff)
downloadpython-coveragepy-1aff296970383b278915a4be54ba6bb7edf21aed.tar.gz
Start moving common reporter functionality into Reporter.
Diffstat (limited to 'coverage/report.py')
-rw-r--r--coverage/report.py30
1 files changed, 30 insertions, 0 deletions
diff --git a/coverage/report.py b/coverage/report.py
new file mode 100644
index 0000000..f20b453
--- /dev/null
+++ b/coverage/report.py
@@ -0,0 +1,30 @@
+"""Reporter foundation for coverage.py"""
+
+from coverage.codeunit import code_unit_factory
+
+class Reporter(object):
+ """A base class for all reporters."""
+
+ def __init__(self, coverage, ignore_errors=False):
+ """Create a reporter.
+
+ `coverage` is the coverage instance. `ignore_errors` controls how
+ skittish the reporter will be during file processing.
+
+ """
+ self.coverage = coverage
+ self.ignore_errors = ignore_errors
+
+ # The code units to report on. Set by find_code_units.
+ self.code_units = []
+
+ def find_code_units(self, morfs, omit_prefixes):
+ """Find the code units we'll report on.
+
+ `morfs` is a list of modules or filenames. `omit_prefixes` is a list
+ of prefixes to leave out of the list.
+
+ """
+ morfs = morfs or self.coverage.data.executed_files()
+ self.code_units = code_unit_factory(morfs, self.coverage.file_locator, omit_prefixes)
+ self.code_units.sort()