From c56d497a8c66e58711e888a20202c2f31dcbf02c Mon Sep 17 00:00:00 2001 From: Romain Dorgueil Date: Mon, 22 May 2017 15:57:47 +0200 Subject: [PATCH] New simpler pretty printer (experimental) that supports all kind of bags. --- bonobo/nodes/basics.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/bonobo/nodes/basics.py b/bonobo/nodes/basics.py index 195cd8e..025b99f 100644 --- a/bonobo/nodes/basics.py +++ b/bonobo/nodes/basics.py @@ -1,6 +1,7 @@ import functools from pprint import pprint as _pprint +import itertools from colorama import Fore, Style from bonobo.config import Configurable, Option @@ -69,6 +70,12 @@ def _count_counter(self, context): context.send(Bag(counter._value)) +class PrettyPrinter(Configurable): + def call(self, *args, **kwargs): + for i, (item, value) in enumerate(itertools.chain(enumerate(args), kwargs.items())): + print(' ' if i else '•', item, '=', str(value).strip().replace('\n', '\n'+CLEAR_EOL), CLEAR_EOL) + + pprint = Tee(_pprint)