fix initwrite behaviour
with handlers, a parameter from the cfg file which is not the first of parameters with the same handler were not written. fix: write_<param> method is called for all parameters in <module>.writeDict even if there is no poll entry. with this fix, the write_<method> is called even when a parameter is not polled.
This commit is contained in:
@@ -115,7 +115,8 @@ class Parameter(Accessible):
|
||||
settable=False, default=False),
|
||||
'handler': Property('[internal] overload the standard read and write functions',
|
||||
ValueType(), export=False, default=None, mandatory=False, settable=False),
|
||||
'initwrite': Property('[internal] write this parameter on initialization (default None: write if given in config)',
|
||||
'initwrite': Property('[internal] write this parameter on initialization'
|
||||
' (default None: write if given in config)',
|
||||
NoneOr(BoolType()), export=False, default=None, mandatory=False, settable=False),
|
||||
}
|
||||
|
||||
@@ -139,11 +140,8 @@ class Parameter(Accessible):
|
||||
datatype.setProperty('unit', unit)
|
||||
super(Parameter, self).__init__(**kwds)
|
||||
|
||||
if self.initwrite:
|
||||
if self.readonly:
|
||||
raise ProgrammingError('can not have both readonly and initwrite!')
|
||||
if not self.poll:
|
||||
raise ProgrammingError('only polled parameters can have initwrite!')
|
||||
if self.initwrite and self.readonly:
|
||||
raise ProgrammingError('can not have both readonly and initwrite!')
|
||||
|
||||
if self.constant is not None:
|
||||
self.properties['readonly'] = True
|
||||
|
||||
Reference in New Issue
Block a user