Merge pull request #2168 from freqtrade/fix/downloadscript_pairs

Fix downloadscript pair handling
This commit is contained in:
Matthias 2019-08-21 09:09:03 +02:00 committed by GitHub
commit d2958fc0f5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 13 additions and 8 deletions

View File

@ -346,10 +346,9 @@ class Configuration(object):
# or if pairs file is specified explicitely # or if pairs file is specified explicitely
if not pairs_file.exists(): if not pairs_file.exists():
raise OperationalException(f'No pairs file found with path "{pairs_file}".') raise OperationalException(f'No pairs file found with path "{pairs_file}".')
with pairs_file.open('r') as f:
config['pairs'] = json_load(pairs_file) config['pairs'] = json_load(f)
config['pairs'].sort()
config['pairs'].sort()
return return
if "config" in self.args and self.args.config: if "config" in self.args and self.args.config:
@ -357,7 +356,10 @@ class Configuration(object):
config['pairs'] = config.get('exchange', {}).get('pair_whitelist') config['pairs'] = config.get('exchange', {}).get('pair_whitelist')
else: else:
# Fall back to /dl_path/pairs.json # Fall back to /dl_path/pairs.json
pairs_file = Path(config['datadir']) / "pairs.json" pairs_file = Path(config['datadir']) / config['exchange']['name'].lower() / "pairs.json"
print(config['datadir'])
if pairs_file.exists(): if pairs_file.exists():
config['pairs'] = json_load(pairs_file) with pairs_file.open('r') as f:
config['pairs'].sort() config['pairs'] = json_load(f)
if 'pairs' in config:
config['pairs'].sort()

View File

@ -6,6 +6,7 @@ import logging
import re import re
from datetime import datetime from datetime import datetime
from pathlib import Path from pathlib import Path
from typing.io import IO
import numpy as np import numpy as np
import rapidjson import rapidjson
@ -60,7 +61,7 @@ def file_dump_json(filename: Path, data, is_zip=False) -> None:
logger.debug(f'done json to "{filename}"') logger.debug(f'done json to "{filename}"')
def json_load(datafile): def json_load(datafile: IO):
""" """
load data with rapidjson load data with rapidjson
Use this to have a consistent experience, Use this to have a consistent experience,

View File

@ -770,6 +770,7 @@ def test_pairlist_resolving_with_config_pl(mocker, default_conf):
load_mock = mocker.patch("freqtrade.configuration.configuration.json_load", load_mock = mocker.patch("freqtrade.configuration.configuration.json_load",
MagicMock(return_value=['XRP/BTC', 'ETH/BTC'])) MagicMock(return_value=['XRP/BTC', 'ETH/BTC']))
mocker.patch.object(Path, "exists", MagicMock(return_value=True)) mocker.patch.object(Path, "exists", MagicMock(return_value=True))
mocker.patch.object(Path, "open", MagicMock(return_value=MagicMock()))
arglist = [ arglist = [
'--config', 'config.json', '--config', 'config.json',
@ -808,6 +809,7 @@ def test_pairlist_resolving_with_config_pl_not_exists(mocker, default_conf):
def test_pairlist_resolving_fallback(mocker): def test_pairlist_resolving_fallback(mocker):
mocker.patch.object(Path, "exists", MagicMock(return_value=True)) mocker.patch.object(Path, "exists", MagicMock(return_value=True))
mocker.patch.object(Path, "open", MagicMock(return_value=MagicMock()))
mocker.patch("freqtrade.configuration.configuration.json_load", mocker.patch("freqtrade.configuration.configuration.json_load",
MagicMock(return_value=['XRP/BTC', 'ETH/BTC'])) MagicMock(return_value=['XRP/BTC', 'ETH/BTC']))
arglist = [ arglist = [