Spaces:
Sleeping
Sleeping
File size: 1,444 Bytes
ce8f04a | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | #!/usr/bin/env python3
"""CLI: seed local DB with eco12m grants for PLAN §13.5 measurable dossier metric.
Usage (from backend/):
python3 scripts/seed_ecosystem_12m_catalog.py
python3 scripts/seed_ecosystem_12m_catalog.py --ready 7 --partial 2 --blind 1
"""
from __future__ import annotations
import argparse
import json
import os
import sys
# backend on path
sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
from core.subscription.db import SessionLocal, init_models # noqa: E402
from core.grants.seed_ecosystem_12m_catalog import seed_ecosystem_12m_catalog # noqa: E402
def main() -> int:
p = argparse.ArgumentParser(description="Seed ecosystem 12m catalog for §13.5")
p.add_argument("--ready", type=int, default=5)
p.add_argument("--partial", type=int, default=2)
p.add_argument("--blind", type=int, default=3)
p.add_argument("--no-commit", action="store_true")
args = p.parse_args()
init_models()
db = SessionLocal()
try:
result = seed_ecosystem_12m_catalog(
db,
ready=args.ready,
partial=args.partial,
blind=args.blind,
commit=not args.no_commit,
)
print(json.dumps(result, indent=2, default=str))
ok = bool(result.get("meets_dod_70_not_blind"))
return 0 if ok else 2
finally:
db.close()
if __name__ == "__main__":
raise SystemExit(main())
|