#!/usr/bin/env python3
"""
Patch opcional para Unity WebGL index.html quando a build é hospedada em subpasta.

Estratégia conservadora:
- prefixar "./" em URLs que começam com "Build/" dentro do index.html
- e também ajustar var buildUrl se aparecer como "Build"
"""

import argparse
from pathlib import Path


def patch_index(text: str) -> str:
    out = text

    # Cobre casos comuns em templates Unity.
    out = out.replace('"Build/', '"./Build/')
    out = out.replace("'Build/", "'./Build/')

    # Alguns templates usam buildUrl = "Build"
    out = out.replace('var buildUrl = "Build";', 'var buildUrl = "./Build";')
    out = out.replace("var buildUrl = 'Build';", "var buildUrl = './Build';")

    return out


def main():
    ap = argparse.ArgumentParser()
    ap.add_argument("--index", required=True, help="path para web-build/index.html")
    args = ap.parse_args()

    p = Path(args.index)
    if not p.exists():
        raise SystemExit(f"index not found: {p}")

    text = p.read_text(encoding="utf-8", errors="replace")
    patched = patch_index(text)

    if patched == text:
        print("[patch_webgl_index_subpath] No changes needed.")
        return

    p.write_text(patched, encoding="utf-8")
    print("[patch_webgl_index_subpath] Patched index.html for subpath.")


if __name__ == "__main__":
    main()

