From b3c9be1cd0f1296b171e1c51cf1003a0bcfa8f24 Mon Sep 17 00:00:00 2001 From: Matthias Date: Sun, 31 Dec 2023 10:15:55 +0100 Subject: [PATCH] Refactor get_bt_resutlist to reduce code complexity --- freqtrade/data/btanalysis.py | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/freqtrade/data/btanalysis.py b/freqtrade/data/btanalysis.py index 902148fa6..0cce8717f 100644 --- a/freqtrade/data/btanalysis.py +++ b/freqtrade/data/btanalysis.py @@ -175,10 +175,8 @@ def _get_backtest_files(dirname: Path) -> List[Path]: return list(reversed(sorted(dirname.glob('backtest-result-*-[0-9][0-9].json')))) -def get_backtest_result(filename: Path) -> List[BacktestHistoryEntryType]: - """ - Get backtest result read from metadata file - """ +def _extract_backtest_result(filename: Path) -> List[BacktestHistoryEntryType]: + metadata = load_backtest_metadata(filename) return [ { 'filename': filename.stem, @@ -186,25 +184,25 @@ def get_backtest_result(filename: Path) -> List[BacktestHistoryEntryType]: 'run_id': v['run_id'], 'notes': v.get('notes', ''), 'backtest_start_time': v['backtest_start_time'], - } for s, v in load_backtest_metadata(filename).items() + } for s, v in metadata.items() ] +def get_backtest_result(filename: Path) -> List[BacktestHistoryEntryType]: + """ + Get backtest result read from metadata file + """ + return _extract_backtest_result(filename) + + def get_backtest_resultlist(dirname: Path) -> List[BacktestHistoryEntryType]: """ Get list of backtest results read from metadata files """ return [ - { - 'filename': filename.stem, - 'strategy': s, - 'run_id': v['run_id'], - 'notes': v.get('notes', ''), - 'backtest_start_time': v['backtest_start_time'], - } + result for filename in _get_backtest_files(dirname) - for s, v in load_backtest_metadata(filename).items() - if v + for result in _extract_backtest_result(filename) ]