"""Hash pinned public EdenLive source documents without installing or running the model."""

import hashlib
import json
import urllib.request

SOURCE_REVISION = "0b78d211bfa87b6d9b6281e9e36e55b974fe7bec"
MODEL_REVISION = "4efc2c4c33af7863f6048e36c2bceb2c30bfae97"
BASE = f"https://raw.githubusercontent.com/VAST-AI-Research/EdenLive/{SOURCE_REVISION}"
MODEL = f"https://huggingface.co/VAST-AI/EdenLive/resolve/{MODEL_REVISION}"
DOCUMENTS = {
    "README.md": f"{BASE}/README.md",
    "edenlive/data/recording_manifest.py": f"{BASE}/edenlive/data/recording_manifest.py",
    "edenlive/configs/wan22_5b_720p_few_step.yaml": f"{BASE}/edenlive/configs/wan22_5b_720p_few_step.yaml",
    "edenlive/inference/offline.py": f"{BASE}/edenlive/inference/offline.py",
    "model/README.md": f"{MODEL}/README.md",
    "model/LICENSE": f"{MODEL}/LICENSE",
}


def audit():
    result = []
    for name, url in DOCUMENTS.items():
        request = urllib.request.Request(url, headers={"User-Agent": "CloutSourceAudit/1.0"})
        with urllib.request.urlopen(request, timeout=30) as response:
            data = response.read()
        result.append(
            {"name": name, "bytes": len(data), "sha256": hashlib.sha256(data).hexdigest()}
        )
    return {"sourceRevision": SOURCE_REVISION, "modelRevision": MODEL_REVISION, "documents": result}


if __name__ == "__main__":
    print(json.dumps(audit(), indent=2))
