diff options
author | Ned Batchelder <ned@nedbatchelder.com> | 2010-09-02 22:06:16 -0400 |
---|---|---|
committer | Ned Batchelder <ned@nedbatchelder.com> | 2010-09-02 22:06:16 -0400 |
commit | 3a7cc512247059017ddd5ced1344578c845c9edd (patch) | |
tree | b9bd7cd406d43154e45fd563ad7c89e05ebd8400 /coverage/report.py | |
parent | 26316d5d71e33daadcf6272288fd5a6a7a5e8423 (diff) | |
download | python-coveragepy-git-3a7cc512247059017ddd5ced1344578c845c9edd.tar.gz |
Pass config objects around to limit the sprawl of argument lists.
Diffstat (limited to 'coverage/report.py')
-rw-r--r-- | coverage/report.py | 26 |
1 files changed, 10 insertions, 16 deletions
diff --git a/coverage/report.py b/coverage/report.py index a1d50828..42b6150e 100644 --- a/coverage/report.py +++ b/coverage/report.py @@ -25,21 +25,19 @@ class Reporter(object): # classes. self.directory = None - def find_code_units(self, morfs, omit, include): + def find_code_units(self, morfs, config): """Find the code units we'll report on. - `morfs` is a list of modules or filenames. - - See `coverage.report()` for other arguments. + `morfs` is a list of modules or filenames. `config` is a + CoverageConfig instance. """ morfs = morfs or self.coverage.data.executed_files() file_locator = self.coverage.file_locator self.code_units = code_unit_factory(morfs, file_locator) - if include: - assert not isinstance(include, string_class) # common mistake - patterns = [file_locator.abs_file(p) for p in include] + if config.include: + patterns = [file_locator.abs_file(p) for p in config.include] filtered = [] for cu in self.code_units: for pattern in patterns: @@ -48,9 +46,8 @@ class Reporter(object): break self.code_units = filtered - if omit: - assert not isinstance(omit, string_class) # common mistake - patterns = [file_locator.abs_file(p) for p in omit] + if config.omit: + patterns = [file_locator.abs_file(p) for p in config.omit] filtered = [] for cu in self.code_units: for pattern in patterns: @@ -62,18 +59,15 @@ class Reporter(object): self.code_units.sort() - def report_files(self, report_fn, morfs, directory=None, - omit=None, include=None): + def report_files(self, report_fn, morfs, config, directory=None): """Run a reporting function on a number of morfs. `report_fn` is called for each relative morf in `morfs`. - `include` is a list of filename patterns. CodeUnits that match - those patterns will be included in the list. CodeUnits that match - `omit` will be omitted from the list. + `config` is a CoverageConfig instance. """ - self.find_code_units(morfs, omit, include) + self.find_code_units(morfs, config) if not self.code_units: raise CoverageException("No data to report.") |