summaryrefslogtreecommitdiff
path: root/coverage/codeunit.py
diff options
context:
space:
mode:
Diffstat (limited to 'coverage/codeunit.py')
-rw-r--r--coverage/codeunit.py27
1 files changed, 17 insertions, 10 deletions
diff --git a/coverage/codeunit.py b/coverage/codeunit.py
index e3107052..28fa0551 100644
--- a/coverage/codeunit.py
+++ b/coverage/codeunit.py
@@ -34,19 +34,26 @@ def code_unit_factory(morfs, file_locator, omit_prefixes=None):
code_units = [CodeUnit(morf, file_locator) for morf in morfs]
if omit_prefixes:
- prefixes = [file_locator.abs_file(p) for p in omit_prefixes]
- filtered = []
- for cu in code_units:
- for prefix in prefixes:
- if cu.filename.startswith(prefix):
- break
- else:
- filtered.append(cu)
-
- code_units = filtered
+ code_units = omit_filter(omit_prefixes, code_units)
return code_units
+def omit_filter(omit_prefixes, code_units):
+ """
+ The filtering method removing any unwanted code_units
+
+ Refactored out so you can easily monkeypatch if needs be
+ """
+ prefixes = [file_locator.abs_file(p) for p in omit_prefixes]
+ filtered = []
+ for cu in code_units:
+ for prefix in prefixes:
+ if cu.filename.startswith(prefix):
+ break
+ else:
+ filtered.append(cu)
+
+ return filtered
class CodeUnit(object):
"""Code unit: a filename or module.