diff --git a/freqtrade/data/history.py b/freqtrade/data/history.py index 54d9abf2b..e54b5a657 100644 --- a/freqtrade/data/history.py +++ b/freqtrade/data/history.py @@ -13,7 +13,6 @@ from typing import Optional, List, Dict, Tuple, Any import arrow from pandas import DataFrame -import rapidjson from freqtrade import misc, constants, OperationalException from freqtrade.data.converter import parse_ticker_dataframe @@ -23,15 +22,6 @@ from freqtrade.arguments import TimeRange logger = logging.getLogger(__name__) -def json_load(data): - """ - load data with rapidjson - Use this to have a consistent experience, - sete number_mode to "NM_NATIVE" for greatest speed - """ - return rapidjson.load(data, number_mode=rapidjson.NM_NATIVE) - - def trim_tickerlist(tickerlist: List[Dict], timerange: TimeRange) -> List[Dict]: """ Trim tickerlist based on given timerange @@ -83,11 +73,11 @@ def load_tickerdata_file( if gzipfile.is_file(): logger.debug('Loading ticker data from file %s', gzipfile) with gzip.open(gzipfile) as tickerdata: - pairdata = json_load(tickerdata) + pairdata = misc.json_load(tickerdata) elif file.is_file(): logger.debug('Loading ticker data from file %s', file) with open(file) as tickerdata: - pairdata = json_load(tickerdata) + pairdata = misc.json_load(tickerdata) else: return None @@ -185,7 +175,7 @@ def load_cached_data_for_updating(filename: Path, tick_interval: str, # read the cached file if filename.is_file(): with open(filename, "rt") as file: - data = json_load(file) + data = misc.json_load(file) # remove the last item, could be incomplete candle if data: data.pop() diff --git a/freqtrade/misc.py b/freqtrade/misc.py index 7bb9ddced..7fcfeec44 100644 --- a/freqtrade/misc.py +++ b/freqtrade/misc.py @@ -83,6 +83,15 @@ def file_dump_json(filename, data, is_zip=False) -> None: rapidjson.dump(data, fp, default=str, number_mode=rapidjson.NM_NATIVE) +def json_load(data): + """ + load data with rapidjson + Use this to have a consistent experience, + sete number_mode to "NM_NATIVE" for greatest speed + """ + return rapidjson.load(data, number_mode=rapidjson.NM_NATIVE) + + def format_ms_time(date: int) -> str: """ convert MS date to readable format.