"""装配两个库:读交付包,写出一对同号的资料库与答案库。 用法:uv run python scripts/build.py --config config/build.yaml 终端只打印计数,不打印病例号和资料内容。 """ import argparse from datetime import datetime from pathlib import Path from cadx.build import run_build REPO_ROOT = Path(__file__).resolve().parents[1] def main() -> None: parser = argparse.ArgumentParser(description="装配给专家的资料库和标准答案库") parser.add_argument("--config", type=Path, required=True, help="build.yaml 的路径") config: Path = parser.parse_args().config summary = run_build(config, REPO_ROOT, datetime.now().astimezone()) print(f"构建号:{summary.build_id}") print(f"资料库:{summary.library_dir}") print(f"答案库:{summary.answers_dir}") print(f"病例总数:{summary.total_cases}") print(f"进库病例:{summary.passed_cases}") print(f"跳过病例:{summary.skipped_cases}") print(f"认不出编号的行:{summary.unrecognized_rows}") by_check = ",".join(f"{check} {n}" for check, n in summary.skipped_by_check.items()) print(f"按检查编号分的跳过数:{by_check or '无'}") print(f"复核清单条数:{summary.review_rows}") print(f"跳过清单说明:{summary.skipped_note}") if __name__ == "__main__": main()