diff --git a/weboob/tools/application/formatters/json.py b/weboob/tools/application/formatters/json.py index e40869e0..8e39d1fe 100644 --- a/weboob/tools/application/formatters/json.py +++ b/weboob/tools/application/formatters/json.py @@ -41,5 +41,27 @@ class Encoder(json.JSONEncoder): class JsonFormatter(IFormatter): + def __init__(self): + IFormatter.__init__(self) + self.queue = [] + + def flush(self): + if len(self.queue) == 0: + return + elif len(self.queue) == 1: + print self.queue[0] + else: + result = u"" + first = False + result += u"[" + for item in self.queue: + if not first: + first = True + else: + result += u"," + result += item + result += "]" + print result + def format_dict(self, item): - return json.dumps(item, cls=Encoder) + self.queue.append(json.dumps(item, cls=Encoder))