hash_["date"] = datetime.now()
self.logs.append(hash_)
+ @staticmethod
+ def default_json_serial(obj):
+ if isinstance(obj, (datetime, date)):
+ return obj.isoformat()
+ return str(obj)
+
def to_json(self):
- def default_json_serial(obj):
- if isinstance(obj, (datetime, date)):
- return obj.isoformat()
- return str(obj)
- return json.dumps(self.logs, default=default_json_serial, indent=" ")
+ return json.dumps(self.logs, default=self.default_json_serial, indent=" ")
+
+ def to_json_array(self):
+ for log in (x.copy() for x in self.logs):
+ yield (
+ log.pop("date"),
+ log.pop("type"),
+ json.dumps(log, default=self.default_json_serial, indent=" ")
+ )
def set_verbose(self, verbose_print):
self.verbose_print = verbose_print