|
def | __init__ (self, name=Configurable.DefaultName, _enabled=True, **kwargs) |
|
def | getGaudiType (cls) |
|
def | getDlls (self) |
|
def | getHandle (self) |
|
def | __detach_used__ (self) |
|
def | propagateProperty (self, name, others=None, force=True) |
|
def | propagateProperties (self, names=None, others=None, force=True) |
|
def | __apply_configuration__ (self) |
|
def | applyConf (self) |
|
def | getUsedInstance (self, name) |
|
def | isApplicable (self) |
|
def | __new__ (cls, *args, **kwargs) |
|
def | __init__ (self, name=DefaultName) |
|
def | __getstate__ (self) |
|
def | __getnewargs__ (self) |
|
def | __setstate__ (self, dict) |
|
def | __len__ (self) |
|
def | __iter__ (self) |
|
def | __deepcopy__ (self, memo) |
|
def | __iadd__ (self, configs, descr=None) |
|
def | __getattr__ (self, attr) |
|
def | __setattr__ (self, name, value) |
|
def | __delattr__ (self, attr) |
|
def | __bool__ (self) |
|
def | remove (self, items) |
|
def | removeAll (self) |
|
def | copyChild (self, child) |
|
def | setParent (self, parentName) |
|
def | getParent (self) |
|
def | hasParent (self, parent) |
|
def | copyChildAndSetParent (self, cfg, parent) |
|
def | getChildren (self) |
|
def | getTools (self) |
|
def | children (self) |
|
def | getAllChildren (self) |
|
def | getSequence (self) |
|
def | setup (self) |
|
def | getProperties (self) |
|
def | getPropertiesWithDescription (self) |
|
def | getValuedProperties (self) |
|
def | properties (self) |
|
def | getDefaultProperties (cls) |
|
def | getDefaultProperty (cls, name) |
|
def | getProp (self, name) |
|
def | setProp (self, name, value) |
|
def | isPropertySet (self, name) |
|
def | getType (cls) |
|
def | getName (self) |
|
def | name (self) |
|
def | getJobOptName (self) |
|
def | isPublic (self) |
|
def | jobOptName (self) |
|
def | getFullName (self) |
|
def | getFullJobOptName (self) |
|
def | getPrintTitle (self) |
|
def | getTitleName (self) |
|
def | setDefaults (cls, handle) |
|
def | clone (self, name=None, **kwargs) |
|
def | splitName (self) |
|
def | addTool (self, tool, name=None) |
|
def | __repr__ (self) |
|
def | __str__ (self, indent=0, headerLastIndentUnit=indentUnit) |
|
def | __new__ (self, name, bases, dct) |
|
def | __call__ (cls, *args, **kwargs) |
|
Definition at line 1288 of file Configurable.py.
◆ __init__()
def GaudiKernel.Configurable.ConfigurableUser.__init__ |
( |
|
self, |
|
|
|
name = Configurable.DefaultName , |
|
|
|
_enabled = True , |
|
|
** |
kwargs |
|
) |
| |
Definition at line 1308 of file Configurable.py.
1308 def __init__(self, name=Configurable.DefaultName, _enabled=True, **kwargs):
1309 super(ConfigurableUser, self).__init__(name)
1310 for n, v
in kwargs.items():
1312 self._enabled = _enabled
1314 self._applied =
False 1322 self.__used_instances__ = []
1323 for used
in self.__used_configurables__:
1326 used_name = Configurable.DefaultName
1328 if type(used)
is tuple:
1329 used, used_name = used
1331 used_name = self._instanceName(used)
1333 if type(used)
is str:
1334 used_class = confDbGetConfigurable(used)
1339 inst = used_class(name=used_name, _enabled=
False)
1340 except AttributeError:
1344 inst = used_class(name=used_name)
1345 self.__addActiveUseOf(inst)
1346 for queried
in self.__queried_configurables__:
1348 if type(queried)
is str:
1349 queried = confDbGetConfigurable(used)
1350 inst = queried(_enabled=
False)
1351 except AttributeError:
1353 self.__addPassiveUseOf(inst)
◆ __addActiveUseOf()
def GaudiKernel.Configurable.ConfigurableUser.__addActiveUseOf |
( |
|
self, |
|
|
|
other |
|
) |
| |
|
private |
Declare that we are going to modify the Configurable 'other' in our
__apply_configuration__.
Definition at line 1355 of file Configurable.py.
1355 def __addActiveUseOf(self, other):
1357 Declare that we are going to modify the Configurable 'other' in our 1358 __apply_configuration__. 1360 self.__used_instances__.append(other)
1361 if hasattr(other,
"__users__"):
1362 other.__users__.append(self)
◆ __addPassiveUseOf()
def GaudiKernel.Configurable.ConfigurableUser.__addPassiveUseOf |
( |
|
self, |
|
|
|
other |
|
) |
| |
|
private |
Declare that we are going to retrieve property values from the
ConfigurableUser 'other' in our __apply_configuration__.
Definition at line 1364 of file Configurable.py.
1364 def __addPassiveUseOf(self, other):
1366 Declare that we are going to retrieve property values from the 1367 ConfigurableUser 'other' in our __apply_configuration__. 1369 if not isinstance(other, ConfigurableUser):
1371 "'%s': Cannot make passive use of '%s', it is not a ConfigurableUser" 1372 % (self.name(), other.name()))
1373 other.__addActiveUseOf(self)
◆ __apply_configuration__()
def GaudiKernel.Configurable.ConfigurableUser.__apply_configuration__ |
( |
|
self | ) |
|
Function to be overridden to convert the high level configuration into a
low level one.
The default implementation calls applyConf, which is the method defined
in some ConfigurableUser implementations.
Reimplemented in Gaudi.Configuration.GaudiPersistency.
Definition at line 1458 of file Configurable.py.
1458 def __apply_configuration__(self):
1460 Function to be overridden to convert the high level configuration into a 1462 The default implementation calls applyConf, which is the method defined 1463 in some ConfigurableUser implementations. 1465 return self.applyConf()
◆ __detach_used__()
def GaudiKernel.Configurable.ConfigurableUser.__detach_used__ |
( |
|
self | ) |
|
Remove this ConfigurableUser instance from the users list of the used
instances.
Definition at line 1385 of file Configurable.py.
1385 def __detach_used__(self):
1387 Remove this ConfigurableUser instance from the users list of the used 1390 for used
in self.__used_instances__:
1393 used.__users__.remove(self)
◆ _instanceName()
def GaudiKernel.Configurable.ConfigurableUser._instanceName |
( |
|
self, |
|
|
|
cls |
|
) |
| |
|
private |
Function used to define the name of the private instance of a given class
name.
This method is used when the __used_configurables_property__ declares the
need of a private used configurable without specifying the name.
Definition at line 1474 of file Configurable.py.
1474 def _instanceName(self, cls):
1476 Function used to define the name of the private instance of a given class 1478 This method is used when the __used_configurables_property__ declares the 1479 need of a private used configurable without specifying the name. 1481 if type(cls)
is str:
1484 clName = cls.__name__
1485 return "%s_%s" % (self.name(), clName)
◆ applyConf()
def GaudiKernel.Configurable.ConfigurableUser.applyConf |
( |
|
self | ) |
|
Function to be overridden to convert the high level configuration into a
low level one.
Definition at line 1467 of file Configurable.py.
1467 def applyConf(self):
1469 Function to be overridden to convert the high level configuration into a
◆ getDlls()
def GaudiKernel.Configurable.ConfigurableUser.getDlls |
( |
|
self | ) |
|
◆ getGaudiType()
def GaudiKernel.Configurable.ConfigurableUser.getGaudiType |
( |
|
cls | ) |
|
◆ getHandle()
def GaudiKernel.Configurable.ConfigurableUser.getHandle |
( |
|
self | ) |
|
◆ getUsedInstance()
def GaudiKernel.Configurable.ConfigurableUser.getUsedInstance |
( |
|
self, |
|
|
|
name |
|
) |
| |
Return the used instance with a given name.
Definition at line 1487 of file Configurable.py.
1487 def getUsedInstance(self, name):
1489 Return the used instance with a given name. 1491 for i
in self.__used_instances__:
1492 if i.name() == name:
1493 if hasattr(i,
"_enabled"):
1498 raise KeyError(name)
◆ isApplicable()
def GaudiKernel.Configurable.ConfigurableUser.isApplicable |
( |
|
self | ) |
|
Return True is the instance can be "applied".
Definition at line 1500 of file Configurable.py.
1502 Return True is the instance can be "applied". 1504 return (
not self.__users__)
and (
not self._applied)
def isApplicable(self)
rep += v.__str__( indent + 1 ) + os.linesep elif isinstance(v,GaudiHandleArray): for vi in v: if isin...
◆ propagateProperties()
def GaudiKernel.Configurable.ConfigurableUser.propagateProperties |
( |
|
self, |
|
|
|
names = None , |
|
|
|
others = None , |
|
|
|
force = True |
|
) |
| |
Call propagateProperty for each property listed in 'names'.
If 'names' is None, all the properties are propagated.
Definition at line 1447 of file Configurable.py.
1447 def propagateProperties(self, names=None, others=None, force=True):
1449 Call propagateProperty for each property listed in 'names'. 1450 If 'names' is None, all the properties are propagated. 1454 names = [p
for p
in self.__slots__
if not p.startswith(
"_")]
1456 self.propagateProperty(n, others, force)
◆ propagateProperty()
def GaudiKernel.Configurable.ConfigurableUser.propagateProperty |
( |
|
self, |
|
|
|
name, |
|
|
|
others = None , |
|
|
|
force = True |
|
) |
| |
Propagate the property 'name' (if set) to other configurables (if possible).
'others' can be:
None:
propagate to all the entries in __used_configurables__
a configurable instance:
propagate only to it
list of configurable instances:
propagate to all of them.
The logic is:
- if the local property is set, the other property will be overwritten
- local property not set and other set => keep other
- local property not set and other not set => overwrite the default for
ConfigurableUser instances and set the property for Configurables
Definition at line 1395 of file Configurable.py.
1395 def propagateProperty(self, name, others=None, force=True):
1397 Propagate the property 'name' (if set) to other configurables (if possible). 1400 propagate to all the entries in __used_configurables__ 1401 a configurable instance: 1402 propagate only to it 1403 list of configurable instances: 1404 propagate to all of them. 1408 - if the local property is set, the other property will be overwritten 1409 - local property not set and other set => keep other 1410 - local property not set and other not set => overwrite the default for 1411 ConfigurableUser instances and set the property for Configurables 1415 others = self.__used_instances__
1416 elif type(others)
not in [list, tuple]:
1419 local_is_set = self.isPropertySet(name)
1420 value = self.getProp(name)
1422 for other
in [o
for o
in others
if name
in o.__slots__]:
1425 if other.isPropertySet(name):
1427 "Property '%(prop)s' is set in both '%(self)s' and '%(other)s', using '%(self)s.%(prop)s'" 1429 "self": self.name(),
1430 "other": other.name(),
1433 other.setProp(name, value)
1435 elif not other.isPropertySet(name):
1436 if isinstance(other, ConfigurableUser):
1437 otherType =
type(other._properties[name].getDefault())
1438 other._properties[name].setDefault(value)
1439 if otherType
in [list, dict]:
1442 other.setProp(name, otherType(value))
1444 other.setProp(name, value)
◆ __queried_configurables__
list GaudiKernel.Configurable.ConfigurableUser.__queried_configurables__ = [] |
|
staticprivate |
◆ __slots__
dictionary GaudiKernel.Configurable.ConfigurableUser.__slots__ |
|
staticprivate |
Initial value:= {
"__users__": [],
"__used_instances__": [],
"_enabled": True,
"_applied": False
}
Definition at line 1289 of file Configurable.py.
◆ __used_configurables__
list GaudiKernel.Configurable.ConfigurableUser.__used_configurables__ = [] |
|
staticprivate |
◆ __used_instances__
GaudiKernel.Configurable.ConfigurableUser.__used_instances__ |
|
private |
◆ __users__
GaudiKernel.Configurable.ConfigurableUser.__users__ |
|
private |
◆ _applied
GaudiKernel.Configurable.ConfigurableUser._applied |
|
private |
◆ _enabled
GaudiKernel.Configurable.ConfigurableUser._enabled |
|
private |
The documentation for this class was generated from the following file: