CSV-Bezeichnung von VF/GF/Kreisel/Eckrad nutzt Anwender-Attribut statt nur Nummerierung
Die Spalte "Bezeichnung" verwendet jetzt das in BricsCAD frei editierbare
Attribut "Bezeichnung" des Blocks, falls gesetzt - sonst wie bisher die
generierte Standardbezeichnung ("VarioFoerderer :3" usw.). Damit laesst
sich ein in der Zeichnung umbenanntes Element im CSV-Export wiedererkennen.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
test_export_bezeichnung.py - CSV-Spalte "Bezeichnung" fuer VF_n/GF_n/
|
||||
Kreisel/Eckrad. Laeuft komplett ohne BricsCAD (reine Python-Logik).
|
||||
|
||||
Kundenwunsch: die Bezeichnung soll nicht nur die generierte Lauf-Nummerierung
|
||||
("VarioFoerderer :3") sein, sondern - falls in der Zeichnung vom Anwender
|
||||
gesetzt - das frei editierbare Attribut "Bezeichnung" des Blocks (ATTDEF),
|
||||
damit sich ein Element in BricsCAD und im CSV-Export leichter zuordnen laesst.
|
||||
"""
|
||||
|
||||
import os
|
||||
import sys
|
||||
|
||||
sys.path.insert(0, os.path.join(os.path.dirname(__file__), "..", "lib"))
|
||||
|
||||
from export_csv import bezeichnung_oder_fallback # noqa: E402
|
||||
|
||||
|
||||
class TestBezeichnungOderFallback:
|
||||
|
||||
def test_eigene_bezeichnung_wird_uebernommen(self):
|
||||
block = {"attribs": {"Bezeichnung": "Haupt-Gefaelle Halle 3"}}
|
||||
assert bezeichnung_oder_fallback(block, "Gefaellestrecke :5") == \
|
||||
"Haupt-Gefaelle Halle 3"
|
||||
|
||||
def test_leere_bezeichnung_faellt_auf_standardname_zurueck(self):
|
||||
block = {"attribs": {"Bezeichnung": ""}}
|
||||
assert bezeichnung_oder_fallback(block, "Gefaellestrecke :5") == "Gefaellestrecke :5"
|
||||
|
||||
def test_leerzeichen_bezeichnung_faellt_auf_standardname_zurueck(self):
|
||||
block = {"attribs": {"Bezeichnung": " "}}
|
||||
assert bezeichnung_oder_fallback(block, "Kreisel :2") == "Kreisel :2"
|
||||
|
||||
def test_fehlendes_attribut_faellt_auf_standardname_zurueck(self):
|
||||
block = {"attribs": {}}
|
||||
assert bezeichnung_oder_fallback(block, "VarioFoerderer :1") == "VarioFoerderer :1"
|
||||
|
||||
def test_fehlende_attribs_faellt_auf_standardname_zurueck(self):
|
||||
block = {}
|
||||
assert bezeichnung_oder_fallback(block, "Eckrad :4") == "Eckrad :4"
|
||||
Reference in New Issue
Block a user