diff --git a/frappy/protocol/dispatcher.py b/frappy/protocol/dispatcher.py index f605d07..afec362 100644 --- a/frappy/protocol/dispatcher.py +++ b/frappy/protocol/dispatcher.py @@ -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 diff --git a/frappy/secnode.py b/frappy/secnode.py index 71e8718..607d5d9 100644 --- a/frappy/secnode.py +++ b/frappy/secnode.py @@ -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 diff --git a/frappy/server.py b/frappy/server.py index 271669d..53a7895 100644 --- a/frappy/server.py +++ b/frappy/server.py @@ -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,