Files
zk-data-agent/skills/intervention-data/scripts/analyze_intervention_sources.py
T
2026-05-19 11:59:49 +08:00

32 lines
1.1 KiB
Python

#!/usr/bin/env python3
"""分析历史干预文件,归纳设备枚举和 code 到下发 domain 的映射。"""
from __future__ import annotations
import argparse
from pathlib import Path
from intervention_common import DEFAULT_EXACT_SOURCE, DEFAULT_REGEX_SOURCE, build_source_summary, json_dumps
def main() -> int:
parser = argparse.ArgumentParser(description="分析历史干预 TSV")
parser.add_argument("--exact-source", default=str(DEFAULT_EXACT_SOURCE), help="单句精确干预 TSV 路径")
parser.add_argument("--regex-source", default=str(DEFAULT_REGEX_SOURCE), help="正则干预 TSV 路径")
parser.add_argument("--top-mapping", type=int, default=30, help="输出前 N 个 code-domain 映射")
args = parser.parse_args()
summary = build_source_summary(Path(args.exact_source), Path(args.regex_source))
mapping_items = sorted(
summary["code_domain_mapping"].items(),
key=lambda item: item[1]["count"],
reverse=True,
)
summary["code_domain_mapping"] = dict(mapping_items[: args.top_mapping])
print(json_dumps(summary))
return 0
if __name__ == "__main__":
raise SystemExit(main())