""" sn_basis/functions/settings_logic.py – Logik zum Lesen und Schreiben der Plugin-Einstellungen über den zentralen variable_wrapper. """ from sn_basis.functions.variable_wrapper import ( get_variable, set_variable, ) class SettingsLogic: """ Verwaltet das Laden und Speichern der Plugin-Einstellungen. Alle Variablen werden als sn_* Projektvariablen gespeichert. """ # Alle Variablen, die gespeichert werden sollen VARIABLEN = [ "amt", "behoerde", "landkreis_user", "sachgebiet", "bezeichnung", "verfahrensnummer", "gemeinden", "landkreise_proj", ] def load(self) -> dict[str, str]: """ Lädt alle Variablen aus dem Projekt. Rückgabe: dict mit allen Werten (leere Strings, wenn nicht gesetzt). """ daten: dict[str, str] = {} for key in self.VARIABLEN: daten[key] = get_variable(key, scope="project") return daten def save(self, daten: dict[str, str]) -> None: """ Speichert alle übergebenen Variablen im Projekt. daten: dict mit key → value """ for key, value in daten.items(): if key in self.VARIABLEN: set_variable(key, value, scope="project")