|
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 1359 of file Configurable.py.
◆ __init__()
def GaudiKernel.Configurable.ConfigurableUser.__init__ |
( |
|
self, |
|
|
|
name = Configurable.DefaultName , |
|
|
|
_enabled = True , |
|
|
** |
kwargs |
|
) |
| |
Definition at line 1379 of file Configurable.py.
1379 def __init__(self, name=Configurable.DefaultName, _enabled=True, **kwargs):
1380 super(ConfigurableUser, self).__init__(name)
1381 for n, v
in kwargs.items():
1383 self._enabled = _enabled
1385 self._applied =
False
1393 self.__used_instances__ = []
1394 for used
in self.__used_configurables__:
1397 used_name = Configurable.DefaultName
1399 if type(used)
is tuple:
1400 used, used_name = used
1402 used_name = self._instanceName(used)
1404 if type(used)
is str:
1405 used_class = confDbGetConfigurable(used)
1410 inst = used_class(name=used_name, _enabled=
False)
1411 except AttributeError:
1415 inst = used_class(name=used_name)
1416 self.__addActiveUseOf(inst)
1417 for queried
in self.__queried_configurables__:
1419 if type(queried)
is str:
1420 queried = confDbGetConfigurable(queried)
1421 inst = queried(_enabled=
False)
1422 except AttributeError:
1424 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 1426 of file Configurable.py.
1426 def __addActiveUseOf(self, other):
1428 Declare that we are going to modify the Configurable 'other' in our
1429 __apply_configuration__.
1431 self.__used_instances__.append(other)
1432 if hasattr(other,
"__users__"):
1433 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 1435 of file Configurable.py.
1435 def __addPassiveUseOf(self, other):
1437 Declare that we are going to retrieve property values from the
1438 ConfigurableUser 'other' in our __apply_configuration__.
1440 if not isinstance(other, ConfigurableUser):
1442 "'%s': Cannot make passive use of '%s', it is not a ConfigurableUser"
1443 % (self.name(), other.name())
1445 other.__addActiveUseOf(self)
◆ __apply_configuration__()
def GaudiKernel.Configurable.ConfigurableUser.__apply_configuration__ |
( |
|
self | ) |
|
◆ __detach_used__()
def GaudiKernel.Configurable.ConfigurableUser.__detach_used__ |
( |
|
self | ) |
|
Remove this ConfigurableUser instance from the users list of the used
instances.
Definition at line 1457 of file Configurable.py.
1457 def __detach_used__(self):
1459 Remove this ConfigurableUser instance from the users list of the used
1462 for used
in self.__used_instances__:
1463 if hasattr(used,
"__users__"):
1464 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 1542 of file Configurable.py.
1542 def _instanceName(self, cls):
1544 Function used to define the name of the private instance of a given class
1546 This method is used when the __used_configurables_property__ declares the
1547 need of a private used configurable without specifying the name.
1549 if type(cls)
is str:
1552 clName = cls.__name__
1553 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 1535 of file Configurable.py.
1535 def applyConf(self):
1537 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 1555 of file Configurable.py.
1555 def getUsedInstance(self, name):
1557 Return the used instance with a given name.
1559 for i
in self.__used_instances__:
1560 if i.name() == name:
1561 if hasattr(i,
"_enabled"):
1566 raise KeyError(name)
◆ isApplicable()
def GaudiKernel.Configurable.ConfigurableUser.isApplicable |
( |
|
self | ) |
|
Return True is the instance can be "applied".
Reimplemented from GaudiKernel.Configurable.Configurable.
Definition at line 1568 of file Configurable.py.
1568 def isApplicable(self):
1570 Return True is the instance can be "applied".
1572 return (
not self.__users__)
and (
not self._applied)
◆ 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 1515 of file Configurable.py.
1515 def propagateProperties(self, names=None, others=None, force=True):
1517 Call propagateProperty for each property listed in 'names'.
1518 If 'names' is None, all the properties are propagated.
1522 names = [p
for p
in self.__slots__
if not p.startswith(
"_")]
1524 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 1466 of file Configurable.py.
1466 def propagateProperty(self, name, others=None, force=True):
1468 Propagate the property 'name' (if set) to other configurables (if possible).
1471 propagate to all the entries in __used_configurables__
1472 a configurable instance:
1473 propagate only to it
1474 list of configurable instances:
1475 propagate to all of them.
1479 - if the local property is set, the other property will be overwritten
1480 - local property not set and other set => keep other
1481 - local property not set and other not set => overwrite the default for
1482 ConfigurableUser instances and set the property for Configurables
1486 others = self.__used_instances__
1487 elif type(others)
not in [list, tuple]:
1490 local_is_set = self.isPropertySet(name)
1491 value = self.getProp(name)
1493 for other
in [o
for o
in others
if name
in o.__slots__]:
1496 if other.isPropertySet(name):
1498 "Property '%(prop)s' is set in both '%(self)s' and '%(other)s', using '%(self)s.%(prop)s'"
1499 % {
"self": self.name(),
"other": other.name(),
"prop": name}
1501 other.setProp(name, value)
1503 elif not other.isPropertySet(name):
1504 if isinstance(other, ConfigurableUser):
1505 otherType =
type(other._properties[name].getDefault())
1506 other._properties[name].setDefault(value)
1507 if otherType
in [list, dict]:
1510 other.setProp(name, otherType(value))
1512 other.setProp(name, value)
◆ __queried_configurables__
GaudiKernel.Configurable.ConfigurableUser.__queried_configurables__ |
|
staticprivate |
◆ __slots__
GaudiKernel.Configurable.ConfigurableUser.__slots__ |
|
staticprivate |
◆ __used_configurables__
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: