diff options
author | Ned Batchelder <ned@nedbatchelder.com> | 2014-07-04 22:15:20 -0400 |
---|---|---|
committer | Ned Batchelder <ned@nedbatchelder.com> | 2014-07-04 22:15:20 -0400 |
commit | 5f7071ecf209b45491892fff3d3cb4f1026c9b49 (patch) | |
tree | 36cd58cd35cd54eaaebe15c5d33acdba3912d324 /coverage/data.py | |
parent | 8165a5c9c3af1523a629b1ffa3e528f62ed04947 (diff) | |
download | python-coveragepy-5f7071ecf209b45491892fff3d3cb4f1026c9b49.tar.gz |
Crazy-ugly start to extensions for Django and Mako
Diffstat (limited to 'coverage/data.py')
-rw-r--r-- | coverage/data.py | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/coverage/data.py b/coverage/data.py index 042b640..b78c931 100644 --- a/coverage/data.py +++ b/coverage/data.py @@ -21,6 +21,11 @@ class CoverageData(object): * arcs: a dict mapping filenames to sorted lists of line number pairs: { 'file1': [(17,23), (17,25), (25,26)], ... } + * extensions: a dict mapping filenames to extension names: + { 'file1': "django.coverage", ... } + # TODO: how to handle the difference between a extension module + # name, and the class in the module? + """ def __init__(self, basename=None, collector=None, debug=None): @@ -64,6 +69,14 @@ class CoverageData(object): # self.arcs = {} + # A map from canonical source file name to an extension module name: + # + # { + # 'filename1.py': 'django.coverage', + # ... + # } + self.extensions = {} + def usefile(self, use_file=True): """Set whether or not to use a disk file for data.""" self.use_file = use_file @@ -110,6 +123,9 @@ class CoverageData(object): (f, sorted(amap.keys())) for f, amap in iitems(self.arcs) ) + def extension_data(self): + return self.extensions + def write_file(self, filename): """Write the coverage data to `filename`.""" @@ -213,6 +229,9 @@ class CoverageData(object): for filename, arcs in iitems(arc_data): self.arcs.setdefault(filename, {}).update(arcs) + def add_extension_data(self, extension_data): + self.extensions.update(extension_data) + def touch_file(self, filename): """Ensure that `filename` appears in the data, empty if needed.""" self.lines.setdefault(filename, {}) |