import_compressor_labels.py 1.0 KB

1234567891011121314151617181920212223242526272829303132
  1. """Import algorithm stage labels into compressor_label (CLI wrapper)."""
  2. from __future__ import annotations
  3. import argparse
  4. from app.services.label_import_service import build_rows, load_site_points, run_import
  5. def main() -> None:
  6. parser = argparse.ArgumentParser(description="导入算法阶段标签到 compressor_label")
  7. parser.add_argument("--dry-run", action="store_true", help="只统计,不写库")
  8. args = parser.parse_args()
  9. if args.dry_run:
  10. site_points = load_site_points()
  11. rows = build_rows(site_points)
  12. counts: dict[str, int] = {}
  13. for row in rows:
  14. counts[row[0]] = counts.get(row[0], 0) + 1
  15. print(f"待导入 {len(rows)} 条:{counts}")
  16. return
  17. result = run_import()
  18. print(f"导入 {result['total']} 条:{result['bySource']}")
  19. if result["skippedFiles"]:
  20. print("跳过文件:", result["skippedFiles"])
  21. print("库内有效算法标签:", result["activeLabels"])
  22. if __name__ == "__main__":
  23. main()