#!/usr/bin/env python3
from pathlib import Path
import re
import sys


ROOT = Path("/home/david/random/www")


def require(pattern: str, text: str, label: str) -> None:
    if not re.search(pattern, text, re.MULTILINE):
        print(f"missing: {label}", file=sys.stderr)
        sys.exit(1)


def main() -> int:
    index_html = (ROOT / "index.html").read_text(encoding="utf-8")
    media_player = (ROOT / "programs" / "media-player.html").read_text(encoding="utf-8")

    require(r"mp4\|m4v\|mov\|webm\|mp3\|wav\|ogg\|flac\|m4a", index_html, "shell media routing includes m4a")
    require(r"mediaFallbackHref", index_html, "shell media routing defines direct audio fallback helper")
    require(r"url\.searchParams\.set\('fallback', fallbackHref\)", index_html, "direct media launch passes fallback query")
    require(r'value === "m4a"\) return "audio/mp4"', media_player, "codec mime mapping for m4a")
    require(r'ext === "m4a"\) return "audio/mp4"', media_player, "file extension mime mapping for m4a")
    require(r'lower\.endsWith\("\.m4a"\)\) return "m4a"', media_player, "filename codec detection for m4a")
    require(r'const directFallback = params\.get\("fallback"\) \|\| ""', media_player, "media player reads fallback query")
    require(r'fallback_file: directFallback', media_player, "direct media launch includes fallback source")

    print("media routing checks passed")
    return 0


if __name__ == "__main__":
    raise SystemExit(main())
