From 0203a48f3e02c691628c00d827857d57cac54d7b Mon Sep 17 00:00:00 2001 From: Matthias Voppichler Date: Wed, 4 Apr 2018 22:05:17 +0200 Subject: [PATCH] use local config-object for check_exchange fix AttributeError: 'NoneType' object has no attribute 'get' when starting the bot. --- freqtrade/configuration.py | 6 +++--- freqtrade/tests/test_configuration.py | 8 +++----- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/freqtrade/configuration.py b/freqtrade/configuration.py index 10768db55..6df73e6a0 100644 --- a/freqtrade/configuration.py +++ b/freqtrade/configuration.py @@ -102,7 +102,7 @@ class Configuration(object): self.logger.info('Dry run is disabled. (--dry_run_db ignored)') # Check if the exchange set by the user is supported - self.check_exchange() + self.check_exchange(config) return config @@ -203,12 +203,12 @@ class Configuration(object): return self.config - def check_exchange(self) -> bool: + def check_exchange(self, config: Dict[str, Any]) -> bool: """ Check if the exchange name in the config file is supported by Freqtrade :return: True or raised an exception if the exchange if not supported """ - exchange = self.config.get('exchange', {}).get('name').lower() + exchange = config.get('exchange', {}).get('name').lower() if exchange not in ccxt.exchanges: exception_msg = 'Exchange "{}" not supported.\n' \ diff --git a/freqtrade/tests/test_configuration.py b/freqtrade/tests/test_configuration.py index f43c29b43..aee329d6b 100644 --- a/freqtrade/tests/test_configuration.py +++ b/freqtrade/tests/test_configuration.py @@ -326,13 +326,11 @@ def test_check_exchange(default_conf) -> None: # Test a valid exchange conf.get('exchange').update({'name': 'BITTREX'}) - configuration.config = conf - assert configuration.check_exchange() + assert configuration.check_exchange(conf) # Test a valid exchange conf.get('exchange').update({'name': 'binance'}) - configuration.config = conf - assert configuration.check_exchange() + assert configuration.check_exchange(conf) # Test a invalid exchange conf.get('exchange').update({'name': 'unknown_exchange'}) @@ -342,4 +340,4 @@ def test_check_exchange(default_conf) -> None: OperationalException, match=r'.*Exchange "unknown_exchange" not supported.*' ): - configuration.check_exchange() + configuration.check_exchange(conf)