SVG-Compress hinzugefügt via svg-polish python module

This commit is contained in:
2026-06-10 10:17:36 +02:00
parent b880c4f03a
commit 0cec37eecd
4 changed files with 310 additions and 75 deletions
+71 -6
View File
@@ -44,13 +44,22 @@ rem ---- Python discovery (avoid MS Store alias) ----
set "PY_CMD="
set "USE_PY_LAUNCHER="
rem 1) Prefer local embeddable first
if exist "%PY_EXE%" (
set "PY_CMD=%PY_EXE%"
if defined VIRTUAL_ENV (
if exist "%VIRTUAL_ENV%\Scripts\python.exe" (
set "PY_CMD=%VIRTUAL_ENV%\Scripts\python.exe"
goto :have_python
)
)
if exist "%SELF_DIR%.venv\Scripts\python.exe" (
set "PY_CMD=%SELF_DIR%.venv\Scripts\python.exe"
goto :have_python
)
if exist "%SELF_DIR%venv\Scripts\python.exe" (
set "PY_CMD=%SELF_DIR%venv\Scripts\python.exe"
goto :have_python
)
rem 2) Real python.exe in PATH (exclude WindowsApps alias)
for /f "delims=" %%P in ('where python.exe 2^>nul') do (
echo %%P | find /I "WindowsApps" >nul
if errorlevel 1 (
@@ -66,7 +75,6 @@ for /f "delims=" %%P in ('where python3.exe 2^>nul') do (
)
)
rem 3) Python launcher py.exe (exclude WindowsApps)
for /f "delims=" %%P in ('where py.exe 2^>nul') do (
echo %%P | find /I "WindowsApps" >nul
if errorlevel 1 (
@@ -76,7 +84,11 @@ for /f "delims=" %%P in ('where py.exe 2^>nul') do (
)
)
rem 4) Download embeddable locally
if exist "%PY_EXE%" (
set "PY_CMD=%PY_EXE%"
goto :have_python
)
if not exist "%SELF_DIR%%PY_EMBED_ZIP%" (
echo [INFO] Kein Python gefunden. Lade Embeddable Python %PY_EMBED_VERSION% ...
powershell -NoLogo -NoProfile -Command ^
@@ -113,6 +125,59 @@ if not exist "%SCRIPT%" (
set "RUN_ARGS=%*"
if "%~1"=="" set "RUN_ARGS=-h"
echo [INFO] Pruefe und installiere Python-Abhaengigkeit: svg-polish ...
set "PIP_OK=0"
if defined USE_PY_LAUNCHER (
"%PY_CMD%" -3 -m pip --version >nul 2>&1
) else (
"%PY_CMD%" -m pip --version >nul 2>&1
)
if not errorlevel 1 set "PIP_OK=1"
if "%PIP_OK%"=="0" (
echo [INFO] pip nicht verfuegbar. Versuche ensurepip ...
if defined USE_PY_LAUNCHER (
"%PY_CMD%" -3 -m ensurepip --upgrade >nul 2>&1
) else (
"%PY_CMD%" -m ensurepip --upgrade >nul 2>&1
)
if defined USE_PY_LAUNCHER (
"%PY_CMD%" -3 -m pip --version >nul 2>&1
) else (
"%PY_CMD%" -m pip --version >nul 2>&1
)
if not errorlevel 1 set "PIP_OK=1"
)
if "%PIP_OK%"=="0" (
if /I "%PY_CMD%"=="%PY_EXE%" (
echo [INFO] ensurepip nicht verfuegbar. Lade get-pip.py ...
powershell -NoLogo -NoProfile -Command ^
"try { Invoke-WebRequest -Uri 'https://bootstrap.pypa.io/get-pip.py' -OutFile '%SELF_DIR%get-pip.py' -UseBasicParsing; exit 0 } catch { Write-Error $_; exit 1 }"
if exist "%SELF_DIR%get-pip.py" (
"%PY_CMD%" "%SELF_DIR%get-pip.py" >nul 2>&1
del "%SELF_DIR%get-pip.py" >nul 2>&1
)
"%PY_CMD%" -m pip --version >nul 2>&1
if not errorlevel 1 set "PIP_OK=1"
)
)
if "%PIP_OK%"=="1" (
if defined USE_PY_LAUNCHER (
"%PY_CMD%" -3 -m pip install --disable-pip-version-check --quiet svg-polish
) else (
"%PY_CMD%" -m pip install --disable-pip-version-check --quiet svg-polish
)
if errorlevel 1 (
echo [WARN] 'svg-polish' konnte nicht installiert werden. SVG-Dateien werden nicht komprimiert.
) else (
echo [OK] 'svg-polish' ist verfuegbar.
)
) else (
echo [WARN] pip konnte nicht eingerichtet werden. SVG-Dateien werden nicht komprimiert.
)
echo.
echo [%APP_NAME%] Starte ...
echo Command: "%PY_CMD%" "%SCRIPT%" %RUN_ARGS%