Files
Plugin_SN_Basis/functions/settings_logic.py

48 lines
1.2 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"""
sn_basis/funktions/settings_logic.py Logik zum Lesen und Schreiben der Plugin-Einstellungen
über den zentralen qgisqt_wrapper.
"""
from sn_basis.functions.qgisqt_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:
"""
Lädt alle Variablen aus dem Projekt.
Rückgabe: dict mit allen Werten (leere Strings, wenn nicht gesetzt).
"""
daten = {}
for key in self.VARIABLEN:
daten[key] = get_variable(key, scope="project")
return daten
def save(self, daten: dict):
"""
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")