/
FAU
/
itis_finally_Project
Обзор
Документация
Войти
/
FAU
/
itis_finally_Project
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
main
src/main.py
44 строки
1 KB
Alexey Fedorovich
Initial commit: Learning Path Analyzer scaffold
27 дек 2025, 14:35
27 дек 2025, 14:35
c96b59e
Код
Авторство
О чём код?
import argparse import os from src import parser as lp_parser from src import analyzer as lp_analyzer from src import visualizer as lp_visualizer def generate_report(input_csv: str, out_dir: str): df = lp_parser.parse_csv(input_csv) df = lp_parser.extract_key_events(df) results = lp_analyzer.analyze_activity(df) counts = results["counts"] corrs = results["correlations"] os.makedirs(out_dir, exist_ok=True) counts_img = lp_visualizer.plot_activity_counts(counts, out_dir) corr_img = lp_visualizer.plot_correlations(corrs, out_dir) # simple HTML report html_path = os.path.join(out_dir, "report.html") with open(html_path, "w", encoding="utf-8") as f: f.write("<html><head><meta charset='utf-8'><title>Learning Path Report</title></head><body>") f.write("<h1>Learning Path Analyzer Report</h1>") if counts_img: f.write(f"<h2>Activity counts</h2><img src='{os.path.basename(counts_img)}' />") if corr_img: f.write(f"<h2>Correlations</h2><img src='{os.path.basename(corr_img)}' />") f.write("</body></html>") return {"html": html_path, "images": [p for p in (counts_img, corr_img) if p]} def cli(): p = argparse.ArgumentParser() p.add_argument("--input", required=True) p.add_argument("--out", default="reports/") args = p.parse_args() print("Generating report...") res = generate_report(args.input, args.out) print("Report generated:", res["html"]) if __name__ == "__main__": cli()