Fail if both ticker_interval and timeframe are present in a

configuration

Otherwise the wrong might be used, as it's unclear which one the intend
of the user is
This commit is contained in:
Matthias 2020-06-16 16:02:38 +02:00
parent 761407f74d
commit 3517c86fa2
2 changed files with 20 additions and 5 deletions

View File

@ -72,4 +72,9 @@ def process_temporary_deprecated_settings(config: Dict[str, Any]) -> None:
"DEPRECATED: "
"Please use 'timeframe' instead of 'ticker_interval."
)
if 'timeframe' in config:
raise OperationalException(
"Both 'timeframe' and 'ticker_interval' detected."
"Please remove 'ticker_interval' from your configuration to continue operating."
)
config['timeframe'] = config['ticker_interval']

View File

@ -1144,11 +1144,21 @@ def test_process_deprecated_setting(mocker, default_conf, caplog):
def test_process_deprecated_ticker_interval(mocker, default_conf, caplog):
message = "DEPRECATED: Please use 'timeframe' instead of 'ticker_interval."
process_temporary_deprecated_settings(default_conf)
config = deepcopy(default_conf)
process_temporary_deprecated_settings(config)
assert not log_has(message, caplog)
del default_conf['timeframe']
default_conf['ticker_interval'] = '15m'
process_temporary_deprecated_settings(default_conf)
del config['timeframe']
config['ticker_interval'] = '15m'
process_temporary_deprecated_settings(config)
assert log_has(message, caplog)
assert default_conf['ticker_interval'] == '15m'
assert config['ticker_interval'] == '15m'
config = deepcopy(default_conf)
# Have both timeframe and ticker interval in config
# Can also happen when using ticker_interval in configuration, and --timeframe as cli argument
config['timeframe'] = '5m'
config['ticker_interval'] = '4h'
with pytest.raises(OperationalException,
match=r"Both 'timeframe' and 'ticker_interval' detected."):
process_temporary_deprecated_settings(config)