comparison frontends/src/jp/output_std.py @ 2233:bf998d8626d9

jp (output): added LIST_DICT output, to handle list of dictionaries
author Goffi <goffi@goffi.org>
date Thu, 27 Apr 2017 00:58:12 +0200
parents 322948499db0
children 1a64fd7b648d
comparison
equal deleted inserted replaced
2232:4f389486667d 2233:bf998d8626d9
35 def __init__(self, host): 35 def __init__(self, host):
36 self.host = host 36 self.host = host
37 host.register_output(C.OUTPUT_TEXT, SIMPLE, self.simple_print) 37 host.register_output(C.OUTPUT_TEXT, SIMPLE, self.simple_print)
38 host.register_output(C.OUTPUT_LIST, SIMPLE, self.list) 38 host.register_output(C.OUTPUT_LIST, SIMPLE, self.list)
39 host.register_output(C.OUTPUT_DICT, SIMPLE, self.dict) 39 host.register_output(C.OUTPUT_DICT, SIMPLE, self.dict)
40 host.register_output(C.OUTPUT_LIST_DICT, SIMPLE, self.list_dict)
40 host.register_output(C.OUTPUT_COMPLEX, SIMPLE, self.simple_print) 41 host.register_output(C.OUTPUT_COMPLEX, SIMPLE, self.simple_print)
41 42
42 def simple_print(self, data): 43 def simple_print(self, data):
43 self.host.disp(unicode(data)) 44 self.host.disp(unicode(data))
44 45
55 else: 56 else:
56 header = u'' 57 header = u''
57 58
58 self.host.disp((u'{header}{value}'.format(header=header, value=v))) 59 self.host.disp((u'{header}{value}'.format(header=header, value=v)))
59 60
61 def list_dict(self, data):
62 for idx, datum in enumerate(data):
63 if idx:
64 self.host.disp(u'\n')
65 self.dict(datum)
66
60 67
61 class Json(object): 68 class Json(object):
62 """outputs in json format""" 69 """outputs in json format"""
63 70
64 def __init__(self, host): 71 def __init__(self, host):
66 host.register_output(C.OUTPUT_TEXT, JSON, self.dump) 73 host.register_output(C.OUTPUT_TEXT, JSON, self.dump)
67 host.register_output(C.OUTPUT_LIST, JSON, self.dump_pretty) 74 host.register_output(C.OUTPUT_LIST, JSON, self.dump_pretty)
68 host.register_output(C.OUTPUT_LIST, JSON_RAW, self.dump) 75 host.register_output(C.OUTPUT_LIST, JSON_RAW, self.dump)
69 host.register_output(C.OUTPUT_DICT, JSON, self.dump_pretty) 76 host.register_output(C.OUTPUT_DICT, JSON, self.dump_pretty)
70 host.register_output(C.OUTPUT_DICT, JSON_RAW, self.dump) 77 host.register_output(C.OUTPUT_DICT, JSON_RAW, self.dump)
78 host.register_output(C.OUTPUT_LIST_DICT, JSON, self.dump_pretty)
79 host.register_output(C.OUTPUT_LIST_DICT, JSON_RAW, self.dump)
71 host.register_output(C.OUTPUT_COMPLEX, JSON, self.dump_pretty) 80 host.register_output(C.OUTPUT_COMPLEX, JSON, self.dump_pretty)
72 host.register_output(C.OUTPUT_COMPLEX, JSON_RAW, self.dump) 81 host.register_output(C.OUTPUT_COMPLEX, JSON_RAW, self.dump)
73 82
74 def dump(self, data): 83 def dump(self, data):
75 self.host.disp(json.dumps(data, default=str)) 84 self.host.disp(json.dumps(data, default=str))