Skripte nach bin/ und lib/ umstrukturiert + WSL-Log-Analyse

Alle .bat-Skripte liegen jetzt in bin/, alle .py in lib/, .env(.example)
in bin/. setenv.bat setzt IWZ_* (inkl. IWZ_ENV) und PYTHONPATH; die
Launcher rufen setenv, aktivieren die .venv falls vorhanden und starten
das zugehoerige lib/-Skript. Die Python-Skripte lesen die .env ueber
IWZ_ENV (Fallback bin/.env).

Neu: Nutzungsanalyse per GoAccess (analyze.py/.bat) - laedt die
IONOS-Access-Logs per SFTP (paramiko) und erzeugt einen HTML-Report.
GoAccess laeuft ueber WSL (GOACCESS_MODE=wsl, Pfad-Uebersetzung nach
/mnt/c). install_py.bat prueft WSL+GoAccess und zeigt sonst den
Installationsweg. Doku in doc/analyse.md.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@
This commit is contained in:
Michael Stangl
2026-08-28 16:44:56 +02:00
parent 025e68b3b9
commit 2379f4ac9f
21 changed files with 760 additions and 59 deletions
+77
View File
@@ -0,0 +1,77 @@
@echo off
REM ================================================================
REM IWZ Ferienwohnungen - Umgebungsvariablen Setup
REM ================================================================
if defined IWZ_BIN (
echo IWZ Umgebung bereits gesetzt.
goto :show
)
echo Setting up environment variables for IWZ ...
REM Basis-Projektpfad (Ordner ueber bin\)
set "IWZ=%~dp0.."
if "%IWZ:~-6%"=="bin\.." set "IWZ=%IWZ:~0,-6%"
if "%IWZ:~-1%"=="\" set "IWZ=%IWZ:~0,-1%"
REM Pfade fuer verschiedene Komponenten
set "IWZ_BIN=%IWZ%\bin"
set "IWZ_LIB=%IWZ%\lib"
set "IWZ_DOC=%IWZ%\doc"
set "IWZ_CONTENT=%IWZ%\content"
set "IWZ_LAYOUTS=%IWZ%\layouts"
set "IWZ_STATIC=%IWZ%\static"
set "IWZ_PUBLIC=%IWZ%\public"
set "IWZ_LOGS=%IWZ%\logs"
set "IWZ_RESULTS=%IWZ%\results"
REM Pfad zur .env (liegt jetzt in bin\). Die Python-Skripte lesen IWZ_ENV.
set "IWZ_ENV=%IWZ_BIN%\.env"
REM Python-Pfad erweitern (nur wenn noch nicht vorhanden)
echo %PYTHONPATH% | find /i "%IWZ_LIB%" >nul
if errorlevel 1 (
set "PYTHONPATH=%IWZ_LIB%;%PYTHONPATH%"
)
REM Ordner erstellen falls sie nicht existieren
if not exist "%IWZ_BIN%" mkdir "%IWZ_BIN%"
if not exist "%IWZ_LIB%" mkdir "%IWZ_LIB%"
if not exist "%IWZ_LOGS%" mkdir "%IWZ_LOGS%"
if not exist "%IWZ_RESULTS%" mkdir "%IWZ_RESULTS%"
REM Optional dauerhaft in der Registry setzen: bin\setenv.bat --persist
if /i "%1"=="--persist" (
echo Setze Umgebungsvariablen dauerhaft in der Registry ^(setx^)...
setx IWZ "%IWZ%" >nul
setx IWZ_BIN "%IWZ_BIN%" >nul
setx IWZ_LIB "%IWZ_LIB%" >nul
setx IWZ_ENV "%IWZ_ENV%" >nul
echo Dauerhaft gesetzt. Gilt fuer alle neuen Prozesse.
)
REM Umgebungsvariablen anzeigen
:show
echo.
echo ================================================================
echo IWZ ENVIRONMENT SETUP COMPLETE
echo ================================================================
echo IWZ = %IWZ%
echo IWZ_BIN = %IWZ_BIN%
echo IWZ_LIB = %IWZ_LIB%
echo IWZ_DOC = %IWZ_DOC%
echo IWZ_CONTENT = %IWZ_CONTENT%
echo IWZ_LAYOUTS = %IWZ_LAYOUTS%
echo IWZ_STATIC = %IWZ_STATIC%
echo IWZ_PUBLIC = %IWZ_PUBLIC%
echo IWZ_LOGS = %IWZ_LOGS%
echo IWZ_RESULTS = %IWZ_RESULTS%
echo IWZ_ENV = %IWZ_ENV%
echo PYTHONPATH = %PYTHONPATH%
echo ================================================================
echo.
REM Optionally keep window open
if "%1"=="--keep-open" pause