| 123456789101112131415161718192021222324252627282930 |
- """Register existing local collector evidence; no upstream requests or publication."""
- import argparse
- import json
- from pathlib import Path
- import sys
- sys.path.insert(0, str(Path(__file__).resolve().parents[1] / 'server/voc-library'))
- from monitoring_store import import_run, read_state, projection
- def main():
- p = argparse.ArgumentParser(description=__doc__)
- p.add_argument('command', choices=['import', 'status'])
- p.add_argument('--store', required=True)
- p.add_argument('--manifest', help='ksf.monitoring-run.v1 JSON; raw paths relative to this file')
- args = p.parse_args()
- try:
- if args.command == 'import':
- path = Path(args.manifest).resolve()
- result = import_run(args.store, json.loads(path.read_text('utf-8-sig')), path.parent)
- else:
- result = {'ok': True, **projection(read_state(args.store), {}, set())}
- print(json.dumps(result, ensure_ascii=False))
- except Exception as error:
- print(json.dumps({'ok': False, 'error': str(error)}, ensure_ascii=False))
- sys.exit(1)
- if __name__ == '__main__':
- main()
|