clic.stream_json: Wrapper to stream JSON arrays to client¶
- class clic.stream_json.JSONEncoder(*, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, sort_keys=False, indent=None, separators=None, default=None)¶
Bases:
JSONEncoder
- default(obj)¶
Implement this method in a subclass such that it returns a serializable object for
o
, or calls the base implementation (to raise aTypeError
).For example, to support arbitrary iterators, you could implement default like this:
def default(self, o): try: iterable = iter(o) except TypeError: pass else: return list(iterable) # Let the base class default method raise the TypeError return super().default(o)
- clic.stream_json.format_error(e)¶
- clic.stream_json.stream_json(generator, header={}, cls=<class 'json.encoder.JSONEncoder'>)¶
Stream output of generator as JSON. Generator results should be of the form:
(‘footer’, {x}): Include items in x after main results
(‘header’, {x}): Include items in x before main results
Anything else: Add to a “data” array