diff options
author | Ismaël Bouya <ismael.bouya@normalesup.org> | 2018-03-24 10:41:28 +0100 |
---|---|---|
committer | Ismaël Bouya <ismael.bouya@normalesup.org> | 2018-03-24 10:41:28 +0100 |
commit | 0c6eb1640c0d0c0e7b679d1702415a35319863f1 (patch) | |
tree | 758fa5203849f284bd8379d8928b22dfbbbc699e /store.py | |
parent | b53f483d54367875bed3769d2e4817866fbde224 (diff) | |
parent | 35667b31ddf1ce47a56ccbf4db9896dbc165ad0a (diff) | |
download | Trader-0c6eb1640c0d0c0e7b679d1702415a35319863f1.tar.gz Trader-0c6eb1640c0d0c0e7b679d1702415a35319863f1.tar.zst Trader-0c6eb1640c0d0c0e7b679d1702415a35319863f1.zip |
Merge branch 'store_reports' into dev
Add reports storing in database.
See https://git.immae.eu/mantisbt/view.php?id=56 for the expected schema
Diffstat (limited to 'store.py')
-rw-r--r-- | store.py | 20 |
1 files changed, 15 insertions, 5 deletions
@@ -36,12 +36,22 @@ class ReportStore: | |||
36 | hash_["date"] = datetime.now() | 36 | hash_["date"] = datetime.now() |
37 | self.logs.append(hash_) | 37 | self.logs.append(hash_) |
38 | 38 | ||
39 | @staticmethod | ||
40 | def default_json_serial(obj): | ||
41 | if isinstance(obj, (datetime, date)): | ||
42 | return obj.isoformat() | ||
43 | return str(obj) | ||
44 | |||
39 | def to_json(self): | 45 | def to_json(self): |
40 | def default_json_serial(obj): | 46 | return json.dumps(self.logs, default=self.default_json_serial, indent=" ") |
41 | if isinstance(obj, (datetime, date)): | 47 | |
42 | return obj.isoformat() | 48 | def to_json_array(self): |
43 | return str(obj) | 49 | for log in (x.copy() for x in self.logs): |
44 | return json.dumps(self.logs, default=default_json_serial, indent=" ") | 50 | yield ( |
51 | log.pop("date"), | ||
52 | log.pop("type"), | ||
53 | json.dumps(log, default=self.default_json_serial, indent=" ") | ||
54 | ) | ||
45 | 55 | ||
46 | def set_verbose(self, verbose_print): | 56 | def set_verbose(self, verbose_print): |
47 | self.verbose_print = verbose_print | 57 | self.verbose_print = verbose_print |