Esempio n. 1
0
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
Esempio n. 2
0
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