summaryrefslogtreecommitdiff
path: root/coverage/misc.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/misc.py
parentb1a594511c20ee82588d4987fe50b9ff3aee79bc (diff)
downloadpython-coveragepy-0d6aad8cf60d91e6f2f382520920c5edcb5e2520.tar.gz
A way to see the raw data in the data file.
Diffstat (limited to 'coverage/misc.py')
-rw-r--r--coverage/misc.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/coverage/misc.py b/coverage/misc.py
index b99fbb8..ca09be7 100644
--- a/coverage/misc.py
+++ b/coverage/misc.py
@@ -3,7 +3,9 @@
import errno
import hashlib
import inspect
+import json
import os
+import re
from coverage import env
from coverage.backward import string_class, to_bytes, unicode_class
@@ -170,6 +172,19 @@ def _needs_to_implement(that, func_name):
)
+def pretty_data(data):
+ """Format data as JSON, but as nicely as possible.
+
+ Returns a string.
+
+ """
+ # Start with a basic JSON dump.
+ out = json.dumps(data, indent=4, sort_keys=True)
+ # But pairs of numbers shouldn't be split across lines...
+ out = re.sub(r"\[\s+(-?\d+),\s+(-?\d+)\s+]", r"[\1, \2]", out)
+ return out
+
+
class CoverageException(Exception):
"""An exception specific to Coverage."""
pass