X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=store.py;h=43fee03deecf6f9e6ddd52df39af1e3f64ed62a3;hb=7bd830a83b662874c145ea9548edfde79eadc68f;hp=c581608ca9ad67338cea98a2ae86457011d375b2;hpb=065ee3422a6ee9d40136cfa6b272e951e15c2e50;p=perso%2FImmae%2FProjets%2FCryptomonnaies%2FCryptoportfolio%2FTrader.git diff --git a/store.py b/store.py index c581608..43fee03 100644 --- a/store.py +++ b/store.py @@ -32,13 +32,24 @@ class ReportStore: def set_verbose(self, verbose_print): self.verbose_print = verbose_print - def log_stage(self, stage): + def log_stage(self, stage, **kwargs): + def as_json(element): + if callable(element): + return inspect.getsource(element).strip() + elif hasattr(element, "as_json"): + return element.as_json() + else: + return element + + args = { k: as_json(v) for k, v in kwargs.items() } + args_str = ["{}={}".format(k, v) for k, v in args.items()] self.print_log("-" * (len(stage) + 8)) - self.print_log("[Stage] {}".format(stage)) + self.print_log("[Stage] {} {}".format(stage, ", ".join(args_str))) self.add_log({ "type": "stage", "stage": stage, + "args": args, }) def log_balances(self, tag=None):