"""Hash pinned public Qwen Video Edit source documents without installing or running the model."""

import hashlib
import json
import urllib.request

SOURCE_REVISION = "4e44e4992793379752387724666d24873ed9b8b2"
MODEL_REVISION = "f7d9ef0c2a510096529e27994555de16193978e7"
BASE = f"https://raw.githubusercontent.com/yunpeng1998/Qwen-Video-Edit/{SOURCE_REVISION}"
MODEL = f"https://huggingface.co/yunpeng1998/Qwen-Video-Edit/resolve/{MODEL_REVISION}"
DOCUMENTS = {
    "README.md": f"{BASE}/README.md",
    "infer.py": f"{BASE}/infer.py",
    "dataset.py": f"{BASE}/dataset.py",
    "comfyui_nodes/nodes.py": f"{BASE}/comfyui_nodes/nodes.py",
    "licenses/LICENSE.diffsynth-studio": f"{BASE}/licenses/LICENSE.diffsynth-studio",
    "licenses/LICENSE.ditto": f"{BASE}/licenses/LICENSE.ditto",
    "model/README.md": f"{MODEL}/README.md",
}


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))
