added ParamObj.getCurrentParams

This commit is contained in:
Darren Ranalli 2007-03-01 00:46:40 +00:00
parent 2b22c30352
commit 2527c1bb07

View File

@ -1174,6 +1174,12 @@ class ParamObj:
for param in self.getParams():
getSetter(obj, param)(self.getValue(param))
obj.unlockParams()
def extractFrom(self, obj):
# Extract our entire set of params from a ParamObj
obj.lockParams()
for param in self.getParams():
self.paramVals[param] = getSetter(obj, param, 'get')()
obj.unlockParams()
# CLASS METHODS
def getParams(cls):
# returns safely-mutable list of param names
@ -1202,6 +1208,13 @@ class ParamObj:
# apply this class' default param values to our dict
cls._Params.update(c.Params)
_compileDefaultParams = classmethod(_compileDefaultParams)
def __repr__(self):
argStr = ''
for param in self.getParams():
argStr += '%s=%s,' % (param,
repr(self.getValue(param)))
return '%s.%s(%s)' % (
self.__class__.__module__, self.__class__.__name__, argStr)
# END PARAMSET SUBCLASS
def __init__(self, *args, **kwArgs):
@ -1304,6 +1317,11 @@ class ParamObj:
# set all the default parameters on ourself
self.ParamSet().applyTo(self)
def getCurrentParams(self):
params = self.ParamSet()
params.extractFrom(self)
return params
def lockParams(self):
self._paramLockRefCount += 1
if self._paramLockRefCount == 1: