forked from AG_QGIS/Plugin_SN_Basis
Angefangen, DataGrabber anzulegen (Grundlagen gelegt, noch nicht lauffähig)
This commit is contained in:
@@ -1,14 +1,8 @@
|
||||
"""
|
||||
sn_basis/modules/pruef_ergebnis.py – Ergebnisobjekt für alle Prüfer.
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
from dataclasses import dataclass
|
||||
from pathlib import Path
|
||||
from typing import Any, Optional, Literal
|
||||
|
||||
|
||||
# Alle möglichen Aktionen, die ein Prüfer auslösen kann.
|
||||
# Erweiterbar ohne Umbau der Klasse.
|
||||
# Erweitertes Literal mit allen erlaubten Aktionen (PruefAktion)
|
||||
PruefAktion = Literal[
|
||||
"ok",
|
||||
"leer",
|
||||
@@ -16,34 +10,52 @@ PruefAktion = Literal[
|
||||
"leereingabe_nicht_erlaubt",
|
||||
"standarddatei_vorschlagen",
|
||||
"temporaer_erlaubt",
|
||||
"temporaer_erzeugen",
|
||||
"datei_nicht_gefunden",
|
||||
"kein_dateipfad",
|
||||
"pfad_nicht_gefunden",
|
||||
"url_nicht_erreichbar",
|
||||
"netzwerkfehler",
|
||||
"falscher_layertyp",
|
||||
"layer_nicht_gefunden",
|
||||
"layer_unsichtbar",
|
||||
"falscher_geotyp",
|
||||
"layer_leer",
|
||||
"falscher_layertyp",
|
||||
"falsches_crs",
|
||||
"felder_fehlen",
|
||||
"datenquelle_unerwartet",
|
||||
"layer_nicht_editierbar",
|
||||
"temporaer_erzeugen",
|
||||
"stil_nicht_anwendbar",
|
||||
"layer_unsichtbar",
|
||||
"layer_nicht_gefunden",
|
||||
"unbekannt",
|
||||
"stil_anwendbar",
|
||||
"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(slots=True)
|
||||
@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: str
|
||||
aktion: PruefAktion
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user