import os from pruef_ergebnis import PruefErgebnis class Stilpruefer: """ Prüft, ob ein angegebener Stilpfad gültig und nutzbar ist. - Wenn kein Stil angegeben ist, gilt die Prüfung als erfolgreich. - Wenn angegeben: * Datei muss existieren * Dateiendung muss '.qml' sein """ def pruefe(self, stilpfad: str) -> PruefErgebnis: # kein Stil angegeben -> erfolgreich, keine Warnung if not stilpfad or stilpfad.strip() == "": return PruefErgebnis( erfolgreich=True, daten={"stil": None}, warnungen=["Kein Stil angegeben."] ) fehler = [] warnungen = [] # Prüfung: Datei existiert? if not os.path.exists(stilpfad): fehler.append(f"Stildatei nicht gefunden: {stilpfad}") # Prüfung: Endung .qml? elif not stilpfad.lower().endswith(".qml"): fehler.append(f"Ungültige Dateiendung für Stil: {stilpfad}") else: # Hinweis: alle Checks bestanden return PruefErgebnis( erfolgreich=True, daten={"stil": stilpfad} ) return PruefErgebnis( erfolgreich=False if fehler else True, daten={"stil": stilpfad}, fehler=fehler, warnungen=warnungen )