PruefManager und Daten aus P41 übertragen

This commit is contained in:
2025-12-02 20:55:51 +01:00
parent 788bac2a23
commit 1881af93f8
25 changed files with 2567 additions and 295 deletions

45
modules/stilpruefer.py Normal file
View File

@@ -0,0 +1,45 @@
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
)