enabled some more getting/setting parameters, such as regular expressions and params

This commit is contained in:
Max Zwiessele 2014-04-15 16:06:40 +01:00
parent 01c795ae10
commit 333e24a1c3
5 changed files with 70 additions and 12 deletions

View file

@ -185,6 +185,8 @@ class Parameterized(Parameterizable):
return ParamConcatenation(paramlist)
def __setitem__(self, name, value, paramlist=None):
if value is None:
return # nothing to do here
if isinstance(name, (slice, tuple, np.ndarray)):
try:
self.param_array[name] = value
@ -197,8 +199,8 @@ class Parameterized(Parameterizable):
param[:] = value
def __setattr__(self, name, val):
# override the default behaviour, if setting a param, so broadcasting can by used
if hasattr(self, '_parameters_'):
# override the default behaviour, if setting a param, so broadcasting can by used
if hasattr(self, "_parameters_"):
pnames = self.parameter_names(False, adjust_for_printing=True, recursive=False)
if name in pnames: self._parameters_[pnames.index(name)][:] = val; return
object.__setattr__(self, name, val);