@echo off

setlocal enabledelayedexpansion

:: Fenster offen halten durch cmd /k trick
if "%1"=="GESTARTET" goto :main
cmd /k "%~f0" GESTARTET
exit /b

:main
cd /d "%~dp0"
chcp 65001 >nul
title MT-Downloader Builder

echo.
echo  === Audiothek Downloader EXE Builder ===
echo.
echo  Ordner: %CD%
echo.

echo  Suche Python...
set PY=
for %%E in (python.exe python3.exe) do (
    for %%D in (
        "%LOCALAPPDATA%\Programs\Python\Python313"
        "%LOCALAPPDATA%\Programs\Python\Python312"
        "%LOCALAPPDATA%\Programs\Python\Python311"
        "%LOCALAPPDATA%\Programs\Python\Python310"
        "C:\Python313"
        "C:\Python312"
        "C:\Python311"
        "C:\Python310"
        "C:\Windows\py.exe"
    ) do (
        if exist "%%~D\%%E" (
            if "!PY!"=="" set PY=%%~D\%%E
        )
    )
)

:: PATH-Suche als Fallback
if "!PY!"=="" (
    where python >nul 2>&1
    if not errorlevel 1 set PY=python
)

if "!PY!"=="" (
    echo.
    echo  [FEHLER] Python nicht gefunden!
    echo  Installiere Python von: https://www.python.org/downloads/
    echo  Wichtig: "Add Python to PATH" anhaken
    echo.
    pause
    exit /b 1
)

echo  Python: !PY!
"!PY!" --version
echo.

echo  Installiere Pakete...
"!PY!" -m pip install --upgrade pip pyinstaller yt-dlp wxPython pillow
if errorlevel 1 (
    echo  [FEHLER] Paketinstallation fehlgeschlagen!
    pause
    exit /b 1
)
echo.

echo  Baue EXE...
if exist build rmdir /s /q build
if not exist ..\output mkdir ..\output

"!PY!" -m PyInstaller --onefile --windowed --name AT-Downloader --distpath ..\output --workpath build --specpath build --hidden-import yt_dlp --hidden-import wx --hidden-import PIL --collect-submodules yt_dlp AT-Downloader.py

if errorlevel 1 (
    echo.
    echo  [FEHLER] Build fehlgeschlagen! Siehe oben.
    pause
    exit /b 1
)

if exist build rmdir /s /q build

echo.
echo  =======================================
echo   FERTIG! EXE liegt in: output\ytdownloader.exe
echo  =======================================
echo.
pause
exit
