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