jp (outputs): added OUTPUT_COMPLEX type for data which are more complex than key/value dictionaries
This commit is contained in:
parent
127744dd5b
commit
97cf0e6e01
1 changed files with 20 additions and 10 deletions
|
|
@ -22,37 +22,46 @@
|
|||
from sat_frontends.jp.constants import Const as C
|
||||
import json
|
||||
|
||||
__outputs__ = ["Default", "Json"]
|
||||
DEFAULT = u'default'
|
||||
__outputs__ = ["Simple", "Json"]
|
||||
SIMPLE = u'simple'
|
||||
JSON = u'json'
|
||||
JSON_RAW = u'json_raw'
|
||||
|
||||
|
||||
class Default(object):
|
||||
class Simple(object):
|
||||
"""Default outputs"""
|
||||
|
||||
def __init__(self, jp):
|
||||
jp.register_output(C.OUTPUT_TEXT, DEFAULT, self.text)
|
||||
jp.register_output(C.OUTPUT_LIST, DEFAULT, self.list)
|
||||
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 text(self, data):
|
||||
def simple_print(self, data):
|
||||
print data
|
||||
|
||||
def list(self, data):
|
||||
print u'\n'.join(data)
|
||||
|
||||
def dict(self, data):
|
||||
for k, v in data:
|
||||
print(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 dump(self, data):
|
||||
print json.dumps(data)
|
||||
print json.dumps(data, default=str)
|
||||
|
||||
def dump_pretty(self, data):
|
||||
print json.dumps(data, indent=4)
|
||||
print json.dumps(data, indent=4, default=str)
|
||||
|
|
|
|||
Loading…
Reference in a new issue