forked from AG_QGIS/Plugin_SN_Basis
59 lines
1.4 KiB
Python
59 lines
1.4 KiB
Python
"""
|
||
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
|