@echo off
:: Configura qui se abilitare il riavvio automatico in caso di crash (1 = SI, 0 = NO)
set AUTO_RESTART=0

:: Spostati nella cartella in cui risiede questo script
cd /d "%~dp0"

title Server Gestione Sagra - Estate Bedulitese 2026

cls
echo ==========================================================
echo       AVVIO SISTEMA DI GESTIONE SAGRA (Estate 2026)      
echo ==========================================================
echo.

:: Verifica la presenza di Python
set PYTHON_CMD=
where python >nul 2>nul
if %errorlevel% equ 0 (
    set PYTHON_CMD=python
) else (
    where py >nul 2>nul
    if %errorlevel% equ 0 (
        set PYTHON_CMD=py
    )
)

if "%PYTHON_CMD%"=="" (
    echo ----------------------------------------------------------
    echo.  ERRORE: Python 3 non e' stato trovato su questo computer!
    echo.  Si prega di scaricare e installare Python da:
    echo.  https://www.python.org/
    echo.  
    echo.  NOTA: Ricordati di spuntare "Add Python.exe to PATH"
    echo.  durante l'installazione.
    echo ----------------------------------------------------------
    echo.
    pause
    exit /b 1
)

echo.  Python rilevato con successo!

:: :: Verifica e pulizia di eventuali istanze precedenti del server sulla porta 8000
:: set "PORT_PID="
:: for /f "delims=" %%i in ('netstat -ano ^| findstr :8000 ^| findstr :0') do (
::     for %%j in (%%i) do set "PORT_PID=%%j"
:: )
:: 
:: if not "%PORT_PID%"=="" (
::     echo.  [INFO] Trovato server precedente attivo sulla porta 8000 (PID: %PORT_PID%).
::     echo.  Arresto del vecchio server in corso per applicare gli aggiornamenti...
::     taskkill /F /PID %PORT_PID% >nul 2>nul
::     ping 127.0.0.1 -n 2 >nul
:: )

:start_server
echo.  Avvio del server in corso...
echo.  [NOTA] Premere CTRL+C nella finestra per arrestare il server.
echo.

:: Avvia l'apertura della dashboard nel browser predefinito
start /b cmd /c "ping 127.0.0.1 -n 3 >nul & start http://localhost:8000/dashboard.html?t=%random%"

:: Avvia il server nella finestra corrente
%PYTHON_CMD% server.py

if "%AUTO_RESTART%"=="1" (
    echo.
    echo.  [ATTENZIONE] Il server si e' arrestato inaspettatamente!
    echo.  Tentativo di riavvio automatico tra 3 secondi...
    ping 127.0.0.1 -n 4 >nul
    goto start_server
)

echo.
echo Server spento.
pause
