From 23009fe4a9946330ad4a9d2e0b75f4680e810612 Mon Sep 17 00:00:00 2001 From: juke Date: Fri, 11 Feb 2011 18:52:08 +0100 Subject: [PATCH] use stdout in format() closes #469 --- weboob/tools/application/repl.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/weboob/tools/application/repl.py b/weboob/tools/application/repl.py index 82bf7c6f..2886edf7 100644 --- a/weboob/tools/application/repl.py +++ b/weboob/tools/application/repl.py @@ -1071,7 +1071,11 @@ class ReplApplication(Cmd, BaseApplication): def set_formatter_header(self, string): self.formatter.set_header(string) - def format(self, result): + def format(self, result, output=sys.stdout): + if output != sys.stdout: + saveout = sys.stdout + fsock = open(output, 'w') + sys.stdout = fsock fields = self.selected_fields if fields in ('$direct', '$full'): fields = None @@ -1081,6 +1085,9 @@ class ReplApplication(Cmd, BaseApplication): print e except MandatoryFieldsNotFound, e: print >> sys.stderr, '%s Hint: select missing fields or use another formatter (ex: multiline).' % e + if output != sys.stdout: + sys.stdout = saveout + fsock.close() def flush(self): self.formatter.flush()