diff options
Diffstat (limited to 'market.py')
-rw-r--r-- | market.py | 22 |
1 files changed, 11 insertions, 11 deletions
@@ -93,11 +93,11 @@ class Market: | |||
93 | self.ccxt.check_required_credentials() | 93 | self.ccxt.check_required_credentials() |
94 | for action in actions: | 94 | for action in actions: |
95 | if bool(before) is bool(after): | 95 | if bool(before) is bool(after): |
96 | self.processor.process(action, steps="all") | 96 | self.processor.process(action, steps="all", options=self.options) |
97 | elif before: | 97 | elif before: |
98 | self.processor.process(action, steps="before") | 98 | self.processor.process(action, steps="before", options=self.options) |
99 | elif after: | 99 | elif after: |
100 | self.processor.process(action, steps="after") | 100 | self.processor.process(action, steps="after", options=self.options) |
101 | except AuthenticationError: | 101 | except AuthenticationError: |
102 | self.report.log_error("market_authentication", message="Impossible to authenticate to market") | 102 | self.report.log_error("market_authentication", message="Impossible to authenticate to market") |
103 | except Exception as e: | 103 | except Exception as e: |
@@ -408,7 +408,7 @@ class Processor: | |||
408 | def can_process(self, scenario_name): | 408 | def can_process(self, scenario_name): |
409 | return scenario_name in self.scenarios | 409 | return scenario_name in self.scenarios |
410 | 410 | ||
411 | def process(self, scenario_name, steps="all", **kwargs): | 411 | def process(self, scenario_name, steps="all", options={}): |
412 | if not self.can_process(scenario_name): | 412 | if not self.can_process(scenario_name): |
413 | raise TypeError("Unknown scenario {}".format(scenario_name)) | 413 | raise TypeError("Unknown scenario {}".format(scenario_name)) |
414 | scenario = self.scenarios[scenario_name] | 414 | scenario = self.scenarios[scenario_name] |
@@ -420,9 +420,9 @@ class Processor: | |||
420 | for step in steps: | 420 | for step in steps: |
421 | selected_steps += self.select_steps(scenario, step) | 421 | selected_steps += self.select_steps(scenario, step) |
422 | for step in selected_steps: | 422 | for step in selected_steps: |
423 | self.process_step(scenario_name, step, kwargs) | 423 | self.process_step(scenario_name, step, options) |
424 | 424 | ||
425 | def process_step(self, scenario_name, step, kwargs): | 425 | def process_step(self, scenario_name, step, options): |
426 | process_name = "process_{}__{}_{}".format(scenario_name, step["number"], step["name"]) | 426 | process_name = "process_{}__{}_{}".format(scenario_name, step["number"], step["name"]) |
427 | self.market.report.log_stage("{}_begin".format(process_name)) | 427 | self.market.report.log_stage("{}_begin".format(process_name)) |
428 | 428 | ||
@@ -432,7 +432,7 @@ class Processor: | |||
432 | 432 | ||
433 | for action in self.ordered_actions: | 433 | for action in self.ordered_actions: |
434 | if action in step: | 434 | if action in step: |
435 | self.run_action(action, step[action], kwargs) | 435 | self.run_action(action, step[action], options) |
436 | 436 | ||
437 | if "fetch_balances_end" in step: | 437 | if "fetch_balances_end" in step: |
438 | self.market.balances.fetch_balances(tag="{}_end".format(process_name), | 438 | self.market.balances.fetch_balances(tag="{}_end".format(process_name), |
@@ -466,9 +466,9 @@ class Processor: | |||
466 | 466 | ||
467 | return [method, kwargs] | 467 | return [method, kwargs] |
468 | 468 | ||
469 | def parse_args(self, action, default_args, kwargs): | 469 | def parse_args(self, action, default_args, options): |
470 | method, allowed_arguments = self.method_arguments(action) | 470 | method, allowed_arguments = self.method_arguments(action) |
471 | args = {k: v for k, v in {**default_args, **kwargs, **self.market.options}.items() if k in allowed_arguments } | 471 | args = {k: v for k, v in {**default_args, **options}.items() if k in allowed_arguments } |
472 | 472 | ||
473 | if "repartition" in args and "base_currency" in args["repartition"]: | 473 | if "repartition" in args and "base_currency" in args["repartition"]: |
474 | r = args["repartition"] | 474 | r = args["repartition"] |
@@ -476,7 +476,7 @@ class Processor: | |||
476 | 476 | ||
477 | return method, args | 477 | return method, args |
478 | 478 | ||
479 | def run_action(self, action, default_args, kwargs): | 479 | def run_action(self, action, default_args, options): |
480 | method, args = self.parse_args(action, default_args, kwargs) | 480 | method, args = self.parse_args(action, default_args, options) |
481 | 481 | ||
482 | method(**args) | 482 | method(**args) |