moved creation parameters + commands to Module.__init__

- <module>.parameters should contain live parameters on the instance level, not on the class level
- simplified code in Module.__init__, as self.parameters are available
- accessibles on instance level must be OrderedDict, as this is used by describe

Change-Id: Idf507cde5a8f755317e566107214b9a92f3534f7
Reviewed-on: https://forge.frm2.tum.de/review/20302
Tested-by: JenkinsCodeReview <bjoern_pedersen@frm2.tum.de>
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
This commit is contained in:
2019-04-02 10:01:00 +02:00
parent 3eaa32d514
commit d702bea7a6
2 changed files with 14 additions and 17 deletions

View File

@ -216,9 +216,5 @@ class ModuleMeta(type):
raise ProgrammingError('%r: command %r has to be specified '
'explicitly!' % (name, attrname[3:]))
# provide properties to 'filter' out the parameters/commands
newtype.parameters = dict((k,v) for k,v in newtype.accessibles.items() if isinstance(v, Parameter))
newtype.commands = dict((k,v) for k,v in newtype.accessibles.items() if isinstance(v, Command))
attrs['__constructed__'] = True
return newtype