/
socialgraph
/
dataset
Обзор
Документация
Войти
/
socialgraph
/
dataset
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
apply/utils.py
45 строк
1 KB
socialgraph
any language
27 май 2026, 21:48
27 май 2026, 21:48
1f49153
Код
Авторство
О чём код?
import json import os from tools.const import WORK_DIR from tools.utils import mkdir def read_methods(work_dir: str, project: str, commit: str) -> list[dict]: dst_dir = f'{work_dir}/dst/{project}/{commit}' dst = [] for id in os.listdir(dst_dir): if '.' in id: continue with open(f'{dst_dir}/{id}/place.json') as src: q = json.load(src) q['id'] = id with open(f'{dst_dir}/{id}/snippet.txt') as src: q['snippet'] = src.read() dst.append(q) print('methods:', len(dst)) return dst def read_vul(vul: str) -> dict: with open(f'{WORK_DIR}/vul/{vul}.json') as src: return json.load(src) def save_results(methods: list[dict], dst_dir: str) -> None: mkdir(dst_dir) for m in methods: if 'results' in m: folder = f'{dst_dir}/{m.pop('id')}' os.mkdir(folder) with open(f'{folder}/snippet.txt', 'w') as dst: dst.write(m.pop('snippet')) with open(f'{folder}/results.json', 'w') as dst: json.dump(m.pop('results'), dst) with open(f'{folder}/place.json', 'w') as dst: json.dump(m, dst)