Refactor get_bt_resutlist to reduce code complexity

This commit is contained in:
Matthias
2023-12-31 10:15:55 +01:00
parent 13e329f176
commit b3c9be1cd0
+12 -14
View File
@@ -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')))) return list(reversed(sorted(dirname.glob('backtest-result-*-[0-9][0-9].json'))))
def get_backtest_result(filename: Path) -> List[BacktestHistoryEntryType]: def _extract_backtest_result(filename: Path) -> List[BacktestHistoryEntryType]:
""" metadata = load_backtest_metadata(filename)
Get backtest result read from metadata file
"""
return [ return [
{ {
'filename': filename.stem, 'filename': filename.stem,
@@ -186,25 +184,25 @@ def get_backtest_result(filename: Path) -> List[BacktestHistoryEntryType]:
'run_id': v['run_id'], 'run_id': v['run_id'],
'notes': v.get('notes', ''), 'notes': v.get('notes', ''),
'backtest_start_time': v['backtest_start_time'], '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]: def get_backtest_resultlist(dirname: Path) -> List[BacktestHistoryEntryType]:
""" """
Get list of backtest results read from metadata files Get list of backtest results read from metadata files
""" """
return [ return [
{ result
'filename': filename.stem,
'strategy': s,
'run_id': v['run_id'],
'notes': v.get('notes', ''),
'backtest_start_time': v['backtest_start_time'],
}
for filename in _get_backtest_files(dirname) for filename in _get_backtest_files(dirname)
for s, v in load_backtest_metadata(filename).items() for result in _extract_backtest_result(filename)
if v
] ]