register-industry-details.py 890 B

1234567891011121314151617181920
  1. """Import a local SHA-bound product detail manifest. No upstream API calls."""
  2. import argparse
  3. import json
  4. from pathlib import Path
  5. import sys
  6. sys.path.insert(0, str(Path(__file__).resolve().parents[1] / 'server/voc-library'))
  7. from monitoring_details import import_detail
  8. if __name__ == '__main__':
  9. p = argparse.ArgumentParser(description=__doc__)
  10. p.add_argument('--manifest', type=Path, required=True)
  11. p.add_argument('--store', type=Path, required=True)
  12. p.add_argument('--generation', required=True)
  13. args = p.parse_args()
  14. try:
  15. print(json.dumps(import_detail(args.store, json.loads(args.manifest.read_bytes()), args.manifest.parent, args.generation), ensure_ascii=False))
  16. except Exception as exc:
  17. print(json.dumps({'ok': False, 'error': str(exc) if isinstance(exc, ValueError) else 'DETAIL_IMPORT_FAILED', 'paidCalls': 0}))
  18. sys.exit(1)