From a48486ce497baffa98aa094613a3ec949f8ffa4d Mon Sep 17 00:00:00 2001 From: xingchen <1098756313@qq.com> Date: Fri, 25 Sep 2026 11:57:01 +0800 Subject: [PATCH] feat: add flight_quality/report.py --- flight_quality/report.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 flight_quality/report.py diff --git a/flight_quality/report.py b/flight_quality/report.py new file mode 100644 index 0000000..f66565c --- /dev/null +++ b/flight_quality/report.py @@ -0,0 +1,14 @@ +from collections import Counter +from .parser import parse_csv +from .rules import validate + + +def evaluate(text: str) -> dict: + samples, parse_issues = parse_csv(text) + issues = parse_issues + validate(samples) + if not samples: + issues.append({"line": 0, "code": "EMPTY", "detail": "没有可用采样"}) + codes = Counter(issue["code"] if isinstance(issue, dict) else issue.code for issue in issues) + details = [issue if isinstance(issue, dict) else vars(issue) for issue in issues] + return {"sample_count": len(samples), "issue_count": len(issues), + "issues_by_code": dict(sorted(codes.items())), "issues": details, "passed": not issues}