diff options
author | Ned Batchelder <ned@nedbatchelder.com> | 2009-10-12 07:33:51 -0400 |
---|---|---|
committer | Ned Batchelder <ned@nedbatchelder.com> | 2009-10-12 07:33:51 -0400 |
commit | ca039838a5c2f98c4566c7796aa42f4561c8eac3 (patch) | |
tree | fd0647ff04a0ce96198846b30a5c2c430533437d /coverage/data.py | |
parent | f7a939107f419b3dade8fcfb173af3f1d9b9dd14 (diff) | |
download | python-coveragepy-git-ca039838a5c2f98c4566c7796aa42f4561c8eac3.tar.gz |
Don't write arcs if there are none, and an ad-hoc data viewer.
Diffstat (limited to 'coverage/data.py')
-rw-r--r-- | coverage/data.py | 31 |
1 files changed, 24 insertions, 7 deletions
diff --git a/coverage/data.py b/coverage/data.py index 1744a7fb..26dc5aa1 100644 --- a/coverage/data.py +++ b/coverage/data.py @@ -107,8 +107,10 @@ class CoverageData: data = {} data['lines'] = self.line_data() - data['arcs'] = self.arc_data() - + arcs = self.arc_data() + if arcs: + data['arcs'] = arcs + if self.collector: data['collector'] = self.collector @@ -123,16 +125,21 @@ class CoverageData: """Read the coverage data from `filename`.""" self.lines, self.arcs = self._read_file(filename) + def raw_data(self, filename): + """Return the raw pickled data from `filename`.""" + fdata = open(filename, 'rb') + try: + data = pickle.load(fdata) + finally: + fdata.close() + return data + def _read_file(self, filename): """Return the stored coverage data from the given file.""" lines = {} arcs = {} try: - fdata = open(filename, 'rb') - try: - data = pickle.load(fdata) - finally: - fdata.close() + data = self.raw_data(filename) if isinstance(data, dict): # Unpack the 'lines' item. lines = dict([ @@ -207,3 +214,13 @@ class CoverageData: for filename, lines in self.lines.items(): summ[filename_fn(filename)] = len(lines) return summ + +if __name__ == '__main__': + # Ad-hoc: show the raw data in a data file. + import pprint, sys + covdata = CoverageData() + if sys.argv[1:]: + fname = sys.argv[1] + else: + fname = covdata.filename + pprint.pprint(covdata.raw_data(fname)) |