Mercurial > libervia-backend
diff frontends/src/jp/output_std.py @ 2161:62dfa6e02f54
jp (base, blog, output(std)): fixed bad unicode handling in stdout, use of jp.disp instead of simple print
author | Goffi <goffi@goffi.org> |
---|---|
date | Tue, 21 Feb 2017 21:01:40 +0100 |
parents | 8f96c242fa89 |
children | 9061c7247964 |
line wrap: on
line diff
--- a/frontends/src/jp/output_std.py Tue Feb 21 21:01:40 2017 +0100 +++ b/frontends/src/jp/output_std.py Tue Feb 21 21:01:40 2017 +0100 @@ -31,37 +31,39 @@ class Simple(object): """Default outputs""" - def __init__(self, jp): - jp.register_output(C.OUTPUT_TEXT, SIMPLE, self.simple_print) - jp.register_output(C.OUTPUT_LIST, SIMPLE, self.list) - jp.register_output(C.OUTPUT_DICT, SIMPLE, self.dict) - jp.register_output(C.OUTPUT_COMPLEX, SIMPLE, self.simple_print) + def __init__(self, host): + self.host = host + host.register_output(C.OUTPUT_TEXT, SIMPLE, self.simple_print) + host.register_output(C.OUTPUT_LIST, SIMPLE, self.list) + host.register_output(C.OUTPUT_DICT, SIMPLE, self.dict) + host.register_output(C.OUTPUT_COMPLEX, SIMPLE, self.simple_print) def simple_print(self, data): - print data + self.host.disp(data) def list(self, data): - print u'\n'.join(data) + self.host.disp(u'\n'.join(data)) def dict(self, data): for k, v in data: - print(u'{key}: {value}'.format(key=k, value=v)) + self.host.disp((u'{key}: {value}'.format(key=k, value=v))) class Json(object): """outputs in json format""" - def __init__(self, jp): - jp.register_output(C.OUTPUT_TEXT, JSON, self.dump) - jp.register_output(C.OUTPUT_LIST, JSON, self.dump_pretty) - jp.register_output(C.OUTPUT_LIST, JSON_RAW, self.dump) - jp.register_output(C.OUTPUT_DICT, JSON, self.dump_pretty) - jp.register_output(C.OUTPUT_DICT, JSON_RAW, self.dump) - jp.register_output(C.OUTPUT_COMPLEX, JSON, self.dump_pretty) - jp.register_output(C.OUTPUT_COMPLEX, JSON_RAW, self.dump) + def __init__(self, host): + self.host = host + host.register_output(C.OUTPUT_TEXT, JSON, self.dump) + host.register_output(C.OUTPUT_LIST, JSON, self.dump_pretty) + host.register_output(C.OUTPUT_LIST, JSON_RAW, self.dump) + host.register_output(C.OUTPUT_DICT, JSON, self.dump_pretty) + host.register_output(C.OUTPUT_DICT, JSON_RAW, self.dump) + host.register_output(C.OUTPUT_COMPLEX, JSON, self.dump_pretty) + host.register_output(C.OUTPUT_COMPLEX, JSON_RAW, self.dump) def dump(self, data): - print json.dumps(data, default=str) + self.host.disp(json.dumps(data, default=str)) def dump_pretty(self, data): - print json.dumps(data, indent=4, default=str) + self.host.disp(json.dumps(data, indent=4, default=str))