wire data parsing and storage

This commit is contained in:
Jakob Ketterl
2021-02-19 18:45:29 +01:00
parent 039b57d28b
commit 86278ff44d
6 changed files with 26 additions and 11 deletions

View File

@ -80,14 +80,17 @@ class SettingsFormController(AuthorizationMixin, WebpageController, metaclass=AB
def processFormData(self):
self.processData(self.parseFormData())
self.store()
self.send_redirect(self.request.path)
def processData(self, data):
config = Config.get()
config = self.getData()
for k, v in data.items():
if v is None:
if k in config:
del config[k]
else:
config[k] = v
config.store()
def store(self):
Config.get().store()

View File

@ -54,14 +54,18 @@ class SdrDeviceListController(AuthorizationMixin, WebpageController):
class SdrDeviceController(SettingsFormController):
def __init__(self, handler, request, options):
super().__init__(handler, request, options)
self.device = self._get_device()
self.device_id, self.device = self._get_device()
def getData(self):
return self.device
def processData(self, data):
# TODO implement storing of data here
logger.debug(data)
def store(self):
# need to overwrite the existing key in the config since the layering won't capture the changes otherwise
config = Config.get()
sdrs = config["sdrs"]
sdrs[self.device_id] = self.getData()
config["sdrs"] = sdrs
super().store()
def getSections(self):
try:
@ -78,7 +82,7 @@ class SdrDeviceController(SettingsFormController):
device_id = unquote(self.request.matches.group(1))
if device_id not in Config.get()["sdrs"]:
return None
return Config.get()["sdrs"][device_id]
return device_id, Config.get()["sdrs"][device_id]
def header_variables(self):
variables = super().header_variables()