Files
Plugin_SN_Basis/modules/pruef_ergebnis.py

59 lines
1.4 KiB
Python
Raw Normal View History

"""
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