Files
Steam-Panel-Simple/run.bat
T
2026-05-15 17:27:21 +03:00

84 lines
2.7 KiB
Batchfile

@echo off
cd /d "%~dp0"
title SteamPanel
rem === Check Python ===
python --version >nul 2>&1
if errorlevel 1 (
echo Python not found. Install Python 3.10+ from https://python.org
goto :keepopen
)
rem === Virtual environment ===
rem If venv python.exe can't run, it means venv is stale (project was moved). Recreate it.
if exist "venv\Scripts\python.exe" (
venv\Scripts\python.exe --version >nul 2>&1
if errorlevel 1 (
echo Stale venv detected. Recreating...
rmdir /s /q venv
)
)
if not exist "venv\Scripts\activate.bat" (
echo Creating virtual environment...
python -m venv venv
if errorlevel 1 goto :err_venv
echo Virtual environment created.
)
rem === Dependencies ===
rem Install only when requirements.txt has changed (hash stored in data\.req_hash)
venv\Scripts\python.exe -c "import hashlib,pathlib; r=pathlib.Path('requirements.txt'); h=hashlib.md5(r.read_bytes()).hexdigest(); hf=pathlib.Path('data/.req_hash'); ok=hf.exists() and hf.read_text().strip()==h; print('OK' if ok else 'CHANGED')" > %TEMP%\req_check.txt 2>nul
set /p REQ_STATUS=<%TEMP%\req_check.txt
if /i "%REQ_STATUS%"=="CHANGED" (
echo Installing dependencies...
venv\Scripts\pip.exe install -r requirements.txt -q --upgrade-strategy only-if-needed
if errorlevel 1 goto :err_deps
echo Dependencies installed.
rem Save new hash
venv\Scripts\python.exe -c "import hashlib,pathlib; r=pathlib.Path('requirements.txt'); h=hashlib.md5(r.read_bytes()).hexdigest(); pathlib.Path('data').mkdir(exist_ok=True); pathlib.Path('data/.req_hash').write_text(h)"
rem === Patch nodriver/cdp/network.py encoding bug (non-UTF-8 byte in comment) ===
venv\Scripts\python.exe -c "import pathlib; p=pathlib.Path('venv/Lib/site-packages/nodriver/cdp/network.py'); d=p.read_bytes() if p.exists() else b''; p.write_bytes(d.replace(b'\xb1',b'+-')) if p.exists() and b'\xb1' in d else None"
) else (
echo Dependencies OK.
)
:launch
cls
rem === Check built frontend ===
if not exist "app\static\assets\" (
echo.
echo [!] Frontend is not built. Static assets not found in app\static\assets\
echo The browser will show a blank white page without them.
echo.
echo To fix: install Node.js from https://nodejs.org, then run:
echo cd frontend
echo npm install
echo npm run build
echo.
pause
goto :keepopen
)
echo.
venv\Scripts\python.exe main.py
echo.
echo SteamPanel stopped.
goto :keepopen
:err_venv
echo Failed to create virtual environment.
echo Make sure Python 3.14+ is installed: https://python.org
goto :keepopen
:err_deps
echo Dependency installation failed. See errors above.
goto :keepopen
:keepopen
echo.
pause