forked from AG_QGIS/Plugin_SN_Basis
62 lines
1.7 KiB
Python
62 lines
1.7 KiB
Python
from __future__ import annotations
|
|
from dataclasses import dataclass
|
|
from typing import Any, Optional, Literal
|
|
|
|
# Erweitertes Literal mit allen erlaubten Aktionen (PruefAktion)
|
|
PruefAktion = Literal[
|
|
"ok",
|
|
"leer",
|
|
"leereingabe_erlaubt",
|
|
"leereingabe_nicht_erlaubt",
|
|
"standarddatei_vorschlagen",
|
|
"temporaer_erlaubt",
|
|
"temporaer_erzeugen",
|
|
"datei_nicht_gefunden",
|
|
"kein_dateipfad",
|
|
"pfad_nicht_gefunden",
|
|
"url_nicht_erreichbar",
|
|
"netzwerkfehler",
|
|
"layer_nicht_gefunden",
|
|
"layer_unsichtbar",
|
|
"falscher_geotyp",
|
|
"layer_leer",
|
|
"falscher_layertyp",
|
|
"falsches_crs",
|
|
"felder_fehlen",
|
|
"datenquelle_unerwartet",
|
|
"layer_nicht_editierbar",
|
|
"falsche_endung",
|
|
# Excel / Import-spezifische Aktionen
|
|
"kein_header",
|
|
"kein_arbeitsblatt",
|
|
"read_error",
|
|
"open_error",
|
|
# Generische Prüf-/Speicher-Aktionen
|
|
"pruefe_exception",
|
|
"save_exception",
|
|
"save_not_implemented",
|
|
"stil_not_implemented",
|
|
"datei_unbekannt",
|
|
"needs_user_action",
|
|
]
|
|
|
|
@dataclass
|
|
class pruef_ergebnis:
|
|
"""
|
|
Einheitliches Ergebnisobjekt für Prüfer.
|
|
- ok: True wenn Prüfung bestanden
|
|
- meldung: menschenlesbare Meldung
|
|
- aktion: maschinenlesbarer Aktionscode (PruefAktion)
|
|
- kontext: optionaler Zusatzkontext (z. B. Pfad, Layer-Objekt)
|
|
"""
|
|
ok: bool
|
|
meldung: Optional[str] = None
|
|
aktion: Optional[PruefAktion] = None
|
|
kontext: Optional[Any] = None
|
|
|
|
def __init__(self, ok: bool, meldung: Optional[str] = None, aktion: Optional[PruefAktion] = None, kontext: Optional[Any] = None):
|
|
self.ok = ok
|
|
self.meldung = meldung
|
|
self.aktion = aktion
|
|
self.kontext = kontext
|