export_csv: VF_n/GF_n-Einzelelemente (Boegen, Streckenelemente, Umlenk-/Motorstation) als Proxy-Zeilen exportieren

Bisher tauchten nur der Wrapper selbst, verpackte Separatoren und AS/ES-
Kettenenden als eigene CSV-Zeilen auf - die uebrigen Kettenbausteine
(Boegen, gerade Foerderer-/Gefaellestrecken-Segmente, Umlenk-/Motorstation)
blieben nur in der Wrapper-Blockdefinition verpackt. csv:element-proxies-
erzeugen (analog zu csv:sep-proxies-erzeugen) fuegt fuer jeden Fund eine
temporaere Kopie ein, K1/K2 kommen aus dem EIGENEN KS_EIN/KS_AUS jedes
Elements (nicht dem Gesamt-AS/ES der Kette) und bleiben leer, wo keines
existiert (z.B. das nie tatsaechlich eingefuegte Vario_Kurve_*).

Zusaetzlicher Fix: csv:get-k-kos-strings ignorierte bisher die Skalierung
des Top-Level-Inserts - fuer Staustrecke_SP_1000_mm (das per Laenge nicht-
uniform skaliert wird) waere K2 damit falsch gewesen, unabhaengig von der
tatsaechlich gebauten Segmentlaenge.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Michael Stangl
2026-09-24 13:08:35 +02:00
co-authored by Claude Sonnet 5
parent 4f1a0e0b5b
commit f751a90076
8 changed files with 445 additions and 18 deletions
+15 -7
View File
@@ -20,13 +20,21 @@ import os
import pytest
# TeileArt-Werte, die einen SENSOR beschreiben statt einer Vario-Strecke -
# csv:sep-proxies-erzeugen (export.lsp, Commit e2f0384) erfasst seither auch
# Separator_SP-Symbole, die als Sub-INSERT in der VF_n-Blockdefinition
# verpackt sind, und exportiert je Fund eine eigene Zeile. Foerderer kennt
# nur diese eine Sensorart (kein Scanner); die vollstaendige Liste steht in
# test_export_ids.py:SENSOR_TEILEARTEN.
NEBEN_TEILEARTEN = {"ILS 2.0 Separator"}
# TeileArt-Werte, die einen SENSOR bzw. ein Streckenbauteil beschreiben statt
# einer Vario-Strecke selbst - csv:sep-proxies-erzeugen (export.lsp, Commit
# e2f0384) erfasst auch Separator_SP-Symbole, die als Sub-INSERT in der
# VF_n-Blockdefinition verpackt sind, und exportiert je Fund eine eigene
# Zeile. csv:element-proxies-erzeugen (export.lsp) erfasst ebenso die
# uebrigen verpackten Bausteine (Boegen, gerade Foerderer-/Gefaellestrecken-
# Segmente, Umlenk-/Motorstation) als je eigene Zeile. Foerderer kennt kein
# Scanner; die vollstaendige Liste steht in test_export_ids.py:SENSOR_TEILEARTEN.
NEBEN_TEILEARTEN = {
"ILS 2.0 Separator",
"ILS 2.0 Bogen",
"ILS 2.0 Streckenelement",
"ILS 2.0 Umlenkstation",
"ILS 2.0 Motorstation",
}
# ---------------------------------------------------------------------------