Fix BOM breaking bin/*.bat and add early Graphviz check to --tosvg wrappers

setenv.bat (and activate_venv/get_cmd/install_py.bat) had a UTF-8 BOM,
which cmd.exe read as part of the @echo off line, breaking every bin
script that calls setenv.bat via `call`. Stripped the BOM.

material_flow.bat/.sh and tro_flow.bat/.sh now check up front whether
the Graphviz engine --tosvg needs (dot, or neato with --use-cords) is
resolvable, and print an early WARNUNG with fix instructions if not -
before the CSV is even parsed. The Python scripts still run and report
the same failure in detail if the SVG step is actually reached.
This commit is contained in:
2026-08-21 12:08:41 +02:00
parent e165beeaa8
commit fce0b8d9a1
9 changed files with 89 additions and 5 deletions
+20
View File
@@ -27,6 +27,26 @@ REM Python-Interpreter bestimmen (py-Launcher bevorzugt, sonst python)
set "PY=py"
py --version >nul 2>&1 || set "PY=python"
REM Graphviz pruefen, wenn --tosvg SVG erzeugen soll (dot, bei --use-cords/
REM --use-coords neato) - nur ein frueher Hinweis; das eigentliche Skript
REM meldet denselben Fehler beim Rendern noch einmal im Detail.
set "GV_ENGINE=dot"
echo %*| findstr /i /c:"--use-cords" /c:"--use-coords" >nul && set "GV_ENGINE=neato"
echo %*| findstr /i /c:"--tosvg" >nul
if not errorlevel 1 (
where %GV_ENGINE%.exe >nul 2>&1
if errorlevel 1 (
set "GV_OK="
if /i "%GV_ENGINE%"=="dot" if defined GRAPHVIZ_DOT set "GV_OK=1"
if not defined GV_OK (
echo WARNUNG: Graphviz '%GV_ENGINE%' nicht im PATH gefunden - --tosvg wird vermutlich fehlschlagen.
echo Graphviz installieren ^(https://graphviz.org/download/^), den bin-Ordner
echo zum PATH hinzufuegen, oder GRAPHVIZ_DOT auf die dot.exe setzen ^(nur fuer 'dot'^).
echo.
)
)
)
"%PY%" "%SKEL_LIB%\tro_flow.py" %*
set "RC=%ERRORLEVEL%"