6 from eh_app.models import ConfigData
12 Singleton Klasse für Konfiguration
15 def __init__(self, verein):
18 def getConfig(self, key, default=None):
19 data = ConfigData.objects.filter(verein=self.verein, key=key)
24 def requireConfig(self, key):
25 data = self.getConfig(key)
27 raise RuntimeError(f"Kein Eintag für: {self.verein}/{key}")
30 def setConfig(self, key, value=None):
31 # No value supplied: delete entry
32 # check, if entry already exists
33 data = ConfigData.objects.filter(verein=self.verein, key=key)
37 raise RuntimeError("config entry not unique")
39 if data[0].value != value:
45 data = ConfigData(verein=self.verein, key=key, value=value)
48 def getInstance(verein=None):
52 raise RuntimeError("Bei der ersten Instanzierung muss der Verein mitgegeben werden.")
53 the_instance = Config(verein)