feat: add flight_quality/report.py
This commit is contained in:
14
flight_quality/report.py
Normal file
14
flight_quality/report.py
Normal file
@@ -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}
|
||||||
Reference in New Issue
Block a user