From 3bc49330cef6f4097438e073f04c11add1f5a903 Mon Sep 17 00:00:00 2001 From: Matthias Date: Thu, 17 Aug 2023 09:15:59 +0200 Subject: [PATCH] webserver mode should properly validate config --- freqtrade/commands/webserver_commands.py | 5 +++-- freqtrade/configuration/config_validation.py | 2 ++ freqtrade/constants.py | 3 +++ 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/freqtrade/commands/webserver_commands.py b/freqtrade/commands/webserver_commands.py index 9a5975227..2fd7fe75c 100644 --- a/freqtrade/commands/webserver_commands.py +++ b/freqtrade/commands/webserver_commands.py @@ -7,9 +7,10 @@ def start_webserver(args: Dict[str, Any]) -> None: """ Main entry point for webserver mode """ - from freqtrade.configuration import Configuration + from freqtrade.configuration import setup_utils_configuration from freqtrade.rpc.api_server import ApiServer # Initialize configuration - config = Configuration(args, RunMode.WEBSERVER).get_config() + + config = setup_utils_configuration(args, RunMode.WEBSERVER) ApiServer(config, standalone=True) diff --git a/freqtrade/configuration/config_validation.py b/freqtrade/configuration/config_validation.py index f1745df61..395826557 100644 --- a/freqtrade/configuration/config_validation.py +++ b/freqtrade/configuration/config_validation.py @@ -51,6 +51,8 @@ def validate_config_schema(conf: Dict[str, Any], preliminary: bool = False) -> D conf_schema['required'] = constants.SCHEMA_BACKTEST_REQUIRED else: conf_schema['required'] = constants.SCHEMA_BACKTEST_REQUIRED_FINAL + elif conf.get('runmode', RunMode.OTHER) == RunMode.WEBSERVER: + conf_schema['required'] = constants.SCHEMA_MINIMAL_WEBSERVER else: conf_schema['required'] = constants.SCHEMA_MINIMAL_REQUIRED try: diff --git a/freqtrade/constants.py b/freqtrade/constants.py index fedd34726..9a8d17909 100644 --- a/freqtrade/constants.py +++ b/freqtrade/constants.py @@ -667,6 +667,9 @@ SCHEMA_MINIMAL_REQUIRED = [ 'dataformat_ohlcv', 'dataformat_trades', ] +SCHEMA_MINIMAL_WEBSERVER = SCHEMA_MINIMAL_REQUIRED + [ + 'api_server', +] CANCEL_REASON = { "TIMEOUT": "cancelled due to timeout",