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:
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user