"""
build_exe.py  —  Run this on Windows to produce network_incident_report.exe
Requires: pip install pyinstaller flask reportlab pillow
"""
import subprocess, sys, os

HERE = os.path.dirname(os.path.abspath(__file__))

cmd = [
    "pyinstaller",
    "--onefile",
    "--windowed",
    "--name", "NetworkIncidentReport",
    "--icon", os.path.join(HERE, "icon.ico") if os.path.exists(os.path.join(HERE,"icon.ico")) else "NONE",
    "--add-data", f"{os.path.join(HERE,'templates')};templates",
    "--add-data", f"{os.path.join(HERE,'static')};static",
    "--hidden-import", "flask",
    "--hidden-import", "jinja2",
    "--hidden-import", "reportlab",
    "--hidden-import", "reportlab.graphics",
    "--hidden-import", "reportlab.platypus",
    "--hidden-import", "sqlite3",
    "--hidden-import", "webbrowser",
    "--hidden-import", "threading",
    os.path.join(HERE, "app.py"),
]

print("\n Building NetworkIncidentReport.exe ...\n")
result = subprocess.run(cmd, cwd=HERE)
if result.returncode == 0:
    print("\n✅  Build complete!  →  dist/NetworkIncidentReport.exe\n")
else:
    print("\n❌  Build failed. Check output above.\n")
    sys.exit(1)
