# Requires c2pa-python==0.38.1 in an isolated Python environment.
# Run: python oprindo-inspect-local.py /path/to/authorised-sample.jpg > report.json
# This reads a local file; remote manifests and OCSP fetching are disabled.
from c2pa import Reader, Settings, Context
from pathlib import Path
import json, hashlib, importlib.metadata, sys
p = Path(sys.argv[1])
config = {'verify': {'verify_cert_anchors': True, 'remote_manifest_fetch': False, 'ocsp_fetch': False}}
with Settings.from_dict(config) as settings, Context(settings) as ctx, Reader(p, context=ctx) as reader:
    result = json.loads(reader.json())
print(json.dumps({'library': importlib.metadata.version('c2pa-python'), 'sha256': hashlib.sha256(p.read_bytes()).hexdigest(), 'bytes': p.stat().st_size, 'settings': config, 'additionalTrustAnchorsSupplied': False, 'result': result}, indent=2))
