From 7cf52d30fc8238ab183790ec52b0be86c9df1818 Mon Sep 17 00:00:00 2001 From: Ned Batchelder Date: Fri, 6 Sep 2013 22:08:38 -0400 Subject: Move the info formatting into its own function. --- coverage/misc.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'coverage/misc.py') diff --git a/coverage/misc.py b/coverage/misc.py index 473d7d4..a8773eb 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 -- cgit v1.2.1