summaryrefslogtreecommitdiff
path: root/coverage/misc.py
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2013-09-06 22:08:38 -0400
committerNed Batchelder <ned@nedbatchelder.com>2013-09-06 22:08:38 -0400
commit4512e2c23ecd31b2b4b19740d915ceeeab2231d3 (patch)
tree02bc7365bd09535275f13e3ab6876d01f76d27aa /coverage/misc.py
parent059fdf7e6f58dc6708f5023b95e4d4365a7b6225 (diff)
downloadpython-coveragepy-git-4512e2c23ecd31b2b4b19740d915ceeeab2231d3.tar.gz
Move the info formatting into its own function.
Diffstat (limited to 'coverage/misc.py')
-rw-r--r--coverage/misc.py20
1 files changed, 20 insertions, 0 deletions
diff --git a/coverage/misc.py b/coverage/misc.py
index 473d7d43..a8773ebf 100644
--- a/coverage/misc.py
+++ b/coverage/misc.py
@@ -138,6 +138,26 @@ class Hasher(object):
return self.md5.digest()
+def info_formatter(info):
+ """Produce a sequence of formatted lines from info.
+
+ `info` is a sequence of pairs (label, data). The produced lines are
+ nicely formatted, ready to print.
+
+ """
+ label_len = max([len(l) for l, d in info]) + 1
+ for label, data in info:
+ if data == []:
+ data = "-none-"
+ if isinstance(data, (list, tuple)):
+ prefix = "%*s:" % (label_len, label)
+ for e in data:
+ yield "%*s %s" % (label_len+1, prefix, e)
+ prefix = ""
+ else:
+ yield "%*s: %s" % (label_len, label, data)
+
+
class CoverageException(Exception):
"""An exception specific to Coverage."""
pass