forked from AG_QGIS/Plugin_SN_Basis
46 lines
1.3 KiB
Python
46 lines
1.3 KiB
Python
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
|
|
)
|