core: fix Dispatcher and SECNode opts handling

both tried to consume everything before, also making the check for
unknown options afterwards pointless

Change-Id: I7e44c088163e0b99ac509a2c0f757270807d97ab
Fixes: #4912
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34837
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de>
This commit is contained in:
Alexander Zaft
2024-10-18 12:40:56 +02:00
committed by Markus Zolliker
parent b889a86461
commit 3c69dcb170
3 changed files with 4 additions and 9 deletions

View File

@ -56,11 +56,6 @@ def make_update(modulename, pobj):
class Dispatcher:
def __init__(self, name, logger, options, srv):
# to avoid errors, we want to eat all options here
self.equipment_id = options.pop('equipment_id', name)
self.nodeprops = {}
for k in list(options):
self.nodeprops[k] = options.pop(k)
self.log = logger
self.secnode = srv.secnode

View File

@ -40,8 +40,6 @@ class SecNode:
def __init__(self, name, logger, options, srv):
self.equipment_id = options.pop('equipment_id', name)
self.nodeprops = {}
for k in list(options):
self.nodeprops[k] = options.pop(k)
# map ALL modulename -> moduleobj
self.modules = {}
# list of EXPORTED modules

View File

@ -268,8 +268,10 @@ class Server:
self.secnode = SecNode(name, self.log.getChild('secnode'), opts, self)
self.dispatcher = cls(name, self.log.getChild('dispatcher'), opts, self)
if opts:
self.secnode.errors.append(self.unknown_options(cls, opts))
# add other options as SECNode properties, those with '_' prefixed will
# get exported
for k in list(opts):
self.secnode.add_secnode_property(k, opts.pop(k))
self.secnode.create_modules()
# initialize all modules by getting them with Dispatcher.get_module,