safe_float/safe_int Hilfsfunktionen: doppelten try/except-Code konsolidiert

export_csv.py und export_sivas.py enthielten je ca. 10 nahezu identische
try/except (ValueError, TypeError)-Bloecke fuer "String zu float/int mit
Fallback". Neue gemeinsame Helfer safe_float()/safe_int()
(export_blockpatterns.py) ersetzen diese Bloecke; dabei auch zwei bislang
ungeschuetzte int()/float()-Aufrufe in export_sivas.py (Kreisel-Zaehler)
abgesichert, die bei fehlerhaften Attributwerten sonst abgestuerzt waeren.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-23 12:52:44 +02:00
parent 2842e1f1c9
commit b6b71c5997
3 changed files with 38 additions and 73 deletions
+16
View File
@@ -68,6 +68,22 @@ def load_patterns(cfg_path=None):
return patterns
def safe_float(value, default=0.0):
"""Wandelt value in float um; bei fehlendem/ungueltigem Wert Fallback default."""
try:
return float(value)
except (TypeError, ValueError):
return default
def safe_int(value, default=0):
"""Wandelt value in int um; bei fehlendem/ungueltigem Wert Fallback default."""
try:
return int(value)
except (TypeError, ValueError):
return default
def matches_any(bname, patterns):
"""True, wenn bname (case-insensitiv) zu mindestens einem Muster passt."""
upper = bname.upper()