From 1aff296970383b278915a4be54ba6bb7edf21aed Mon Sep 17 00:00:00 2001 From: Ned Batchelder Date: Fri, 13 Mar 2009 07:26:17 -0400 Subject: Start moving common reporter functionality into Reporter. --- coverage/report.py | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 coverage/report.py (limited to 'coverage/report.py') 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() -- cgit v1.2.1