Files
dxfmakros/tests/test_export_geruest_merkmale.py
T
Simon Hensch ea0e46a441 feat: Omniflo-Fahrstrecke (OMNI_FAHRSTRECKE) + Geruest-Dialoge ueberarbeitet
Fahrstrecke:
- Neuer Befehl OMNI_FAHRSTRECKE (+ _BESCHRIFTEN) im Omniflo-Menue,
  Daten aus data/json/omniflo_fahrstrecke.json, Vorlage dcl/fahrstrecke.dcl
- Nutzt die Linien-Logik des Geruest-Traegers (geruest-linien-starten,
  Dialog/Einfuegen/Beschriftung je Baugruppe parametriert)
- Muffen-Dummy wie beim Traeger, farbig nur wo in der JSON gesetzt
- Stueckliste: eigene Klasse "Omniflo Fahrstrecke" (GR_Fahrstrecke_*)

Geruest-Dialoge:
- DCL als statische Vorlagen mit //@NAME@-Platzhaltern
  (ssg-dcl-vorlage-fuellen in ssg_core), dcl/geruest.dcl neu
- Ein Dialog je Bereich (keine Bereichsumschaltung mehr)
- Varianten als Radiobuttons mit Artikelnummern im Label,
  "disabled": true graut Varianten aus
- Eine Befestigungsspalte (Gesamtanzahl) + Zeile "Sonstiges",
  Art.-Nr. unter jedem Anbauteil
- Winkel Platte (0/90): Anbauteile gedreht eingefuegt
- Kennzeichnung geaenderter Konfiguration, Ueberspeichern per Enter
- Traeger: Querstreben nur bei "mit_querstrebe": true

Konfigurationen im alten Format (oben/unten) werden beim Laden
uebernommen. Unit-Tests ergaenzt (599 gruen).
2026-10-13 11:02:23 +02:00

40 lines
1.4 KiB
Python

"""Merkmale der GR_-Geruest-Bloecke im CSV-Export (build_geruest_merkmale).
Prueft die Teilefarbe (Attribut TEILEFARBE - das frueher gelesene FARBE gibt
es im Schema nicht) und die Laengenabzuege, die nur der Rohr-Geruest-Traeger
traegt und die bei den anderen GR_-Bloecken nicht auftauchen duerfen.
"""
import os
import sys
sys.path.insert(0, os.path.join(os.path.dirname(__file__), "..", "lib"))
from export_csv import build_geruest_merkmale # noqa: E402
def test_teilefarbe_aus_teilefarbe_attribut():
block = {"attribs": {"TEILEART": "Geruest Saeule 1 Zoll",
"TEILEFARBE": ",RAL7030", "LAENGE": "2000",
"LAYER": "D-6"}}
m = build_geruest_merkmale(block)
assert m["Farbe"] == ",RAL7030"
assert m["Laenge"] == "2000"
assert m["Layer"] == "D-6"
def test_ohne_abzug_keine_abzugsmerkmale():
m = build_geruest_merkmale({"attribs": {"TEILEART": "Geruest Rohrabhaenger"}})
assert "LaengenabzugAnfang" not in m
assert "LaengenabzugEnde" not in m
def test_traeger_abzuege():
block = {"attribs": {"TEILEART": "Geruest Traeger 1 Zoll", "LAENGE": "965",
"LAENGENABZUGANFANG": "0",
"LAENGENABZUGENDE": "35"}}
m = build_geruest_merkmale(block)
assert m["Laenge"] == "965"
assert m["LaengenabzugAnfang"] == "0"
assert m["LaengenabzugEnde"] == "35"