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
"action": action,
})
+ def log_market(self, args, user_id, market_id, report_path, debug):
+ self.add_log({
+ "type": "market",
+ "commit": "$Format:%H$",
+ "args": vars(args),
+ "user_id": user_id,
+ "market_id": market_id,
+ "report_path": report_path,
+ "debug": debug,
+ })
+
class BalanceStore:
def __init__(self, market):
self.market = market