def read_local_results(run_id=None, result_id=None, strat_id=None, label=None): if strat_id is not None: files = list(set(glob.glob(f'public/strat_{strat_id}/result_*.json'))) else: files = list(set(glob.glob(f'public/**/result_*.json'))) results = [] for f in files: with open(f, 'r') as file: txt = file.read() json_r = json.loads(txt) if is_json(txt): results.append(json_r) results_flatten = [] for r in results: if isinstance(r, list): results_flatten = results_flatten + r else: results_flatten.append(r) if run_id is not None: results_flatten = [ r for r in results_flatten if r['config'][0]['run_id'] == run_id ] if result_id is not None: results_flatten = [r for r in results_flatten if r['id'] == result_id] if label is not None: results_flatten = [ r for r in results_flatten if r['config'][0]['label'] == label ] results_list = Result.fromListDict(results_flatten) return results_list
def get_all_results(label: str = None): results = Result.fromListDict(fs_get_all(_collection)) if label is not None: results = [r for r in results if r.config[0]['label'] == label] return results