summaryrefslogtreecommitdiff
path: root/coverage/data.py
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2015-07-22 13:39:05 -0400
committerNed Batchelder <ned@nedbatchelder.com>2015-07-22 13:39:05 -0400
commit0d6aad8cf60d91e6f2f382520920c5edcb5e2520 (patch)
treebb00a6ceac18ea711943c1392f5980cba6b7d52b /coverage/data.py
parentb1a594511c20ee82588d4987fe50b9ff3aee79bc (diff)
downloadpython-coveragepy-0d6aad8cf60d91e6f2f382520920c5edcb5e2520.tar.gz
A way to see the raw data in the data file.
Diffstat (limited to 'coverage/data.py')
-rw-r--r--coverage/data.py17
1 files changed, 15 insertions, 2 deletions
diff --git a/coverage/data.py b/coverage/data.py
index 3eb51bf..2f1cf44 100644
--- a/coverage/data.py
+++ b/coverage/data.py
@@ -200,13 +200,21 @@ class CoverageData(object):
__bool__ = __nonzero__
+ def _open_for_reading(self, filename):
+ """Open a file appropriately for reading data."""
+ return open(filename, "r")
+
+ def _read_raw_data(self, file_obj):
+ """Read the raw data from a file object."""
+ return json.load(file_obj)
+
def read(self, file_obj):
"""Read the coverage data from the given file object.
Should only be used on an empty CoverageData object.
"""
- data = json.load(file_obj)
+ data = self._read_raw_data(file_obj)
self._lines = data.get('lines', {})
self._arcs = dict(
@@ -220,7 +228,7 @@ class CoverageData(object):
if self._debug and self._debug.should('dataio'):
self._debug.write("Reading data from %r" % (filename,))
try:
- with open(filename, "r") as f:
+ with self._open_for_reading(filename) as f:
self.read(f)
except Exception as exc:
raise CoverageException(
@@ -229,6 +237,11 @@ class CoverageData(object):
)
)
+ def _read_raw_data_file(self, filename):
+ """Read the raw data from a file, for debugging."""
+ with self._open_for_reading(filename) as f:
+ return self._read_raw_data(f)
+
##
## Writing data
##