diff options
Diffstat (limited to 'coverage/misc.py')
-rw-r--r-- | coverage/misc.py | 15 |
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 |