2025-12-18 22:00:31 +01:00
|
|
|
|
"""
|
|
|
|
|
|
sn_basis/modules/pruef_ergebnis.py – Ergebnisobjekt für alle Prüfer.
|
|
|
|
|
|
|
|
|
|
|
|
"""
|
|
|
|
|
|
|
|
|
|
|
|
from dataclasses import dataclass
|
|
|
|
|
|
from typing import Optional, Literal
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Alle möglichen Aktionen, die ein Prüfer auslösen kann.
|
|
|
|
|
|
# Erweiterbar ohne Umbau der Klasse.
|
|
|
|
|
|
PruefAktion = Literal[
|
|
|
|
|
|
"ok",
|
|
|
|
|
|
"leer",
|
|
|
|
|
|
"leereingabe_erlaubt",
|
|
|
|
|
|
"leereingabe_nicht_erlaubt",
|
|
|
|
|
|
"standarddatei_vorschlagen",
|
|
|
|
|
|
"temporaer_erlaubt",
|
|
|
|
|
|
"datei_nicht_gefunden",
|
|
|
|
|
|
"kein_dateipfad",
|
|
|
|
|
|
"pfad_nicht_gefunden",
|
|
|
|
|
|
"url_nicht_erreichbar",
|
|
|
|
|
|
"netzwerkfehler",
|
|
|
|
|
|
"falscher_layertyp",
|
|
|
|
|
|
"falscher_geotyp",
|
|
|
|
|
|
"layer_leer",
|
|
|
|
|
|
"falsches_crs",
|
|
|
|
|
|
"felder_fehlen",
|
|
|
|
|
|
"datenquelle_unerwartet",
|
|
|
|
|
|
"layer_nicht_editierbar",
|
|
|
|
|
|
"temporaer_erzeugen",
|
|
|
|
|
|
"stil_nicht_anwendbar",
|
|
|
|
|
|
"layer_unsichtbar",
|
|
|
|
|
|
"unbekannt",
|
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@dataclass
|
|
|
|
|
|
class pruef_ergebnis:
|
|
|
|
|
|
"""
|
|
|
|
|
|
Reines Datenobjekt, das das Ergebnis einer Prüfung beschreibt.
|
|
|
|
|
|
|
|
|
|
|
|
ok: True → Prüfung erfolgreich
|
|
|
|
|
|
False → Nutzerinteraktion oder Fehler nötig
|
|
|
|
|
|
|
|
|
|
|
|
meldung: Text, der dem Nutzer angezeigt werden soll
|
|
|
|
|
|
|
|
|
|
|
|
aktion: Maschinenlesbarer Code, der dem Pruefmanager sagt,
|
|
|
|
|
|
wie er weiter verfahren soll
|
|
|
|
|
|
|
|
|
|
|
|
pfad: Optionaler Pfad oder URL, die geprüft wurde oder
|
|
|
|
|
|
verwendet werden soll
|
|
|
|
|
|
"""
|
|
|
|
|
|
|
|
|
|
|
|
ok: bool
|
|
|
|
|
|
meldung: str
|
|
|
|
|
|
aktion: PruefAktion
|
|
|
|
|
|
pfad: Optional[str] = None
|