|
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 1361 of file Configurable.py.
◆ __init__()
def GaudiKernel.Configurable.ConfigurableUser.__init__ |
( |
|
self, |
|
|
|
name = Configurable.DefaultName , |
|
|
|
_enabled = True , |
|
|
** |
kwargs |
|
) |
| |
Definition at line 1381 of file Configurable.py.
1381 def __init__(self, name=Configurable.DefaultName, _enabled=True, **kwargs):
1382 super(ConfigurableUser, self).__init__(name)
1383 for n, v
in kwargs.items():
1385 self._enabled = _enabled
1387 self._applied =
False
1395 self.__used_instances__ = []
1396 for used
in self.__used_configurables__:
1399 used_name = Configurable.DefaultName
1401 if isinstance(used, tuple):
1402 used, used_name = used
1404 used_name = self._instanceName(used)
1406 if isinstance(used, str):
1407 used_class = confDbGetConfigurable(used)
1412 inst = used_class(name=used_name, _enabled=
False)
1413 except AttributeError:
1417 inst = used_class(name=used_name)
1418 self.__addActiveUseOf(inst)
1419 for queried
in self.__queried_configurables__:
1421 if isinstance(queried, str):
1422 queried = confDbGetConfigurable(queried)
1423 inst = queried(_enabled=
False)
1424 except AttributeError:
1426 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 1428 of file Configurable.py.
1428 def __addActiveUseOf(self, other):
1430 Declare that we are going to modify the Configurable 'other' in our
1431 __apply_configuration__.
1433 self.__used_instances__.append(other)
1434 if hasattr(other,
"__users__"):
1435 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 1437 of file Configurable.py.
1437 def __addPassiveUseOf(self, other):
1439 Declare that we are going to retrieve property values from the
1440 ConfigurableUser 'other' in our __apply_configuration__.
1442 if not isinstance(other, ConfigurableUser):
1444 "'%s': Cannot make passive use of '%s', it is not a ConfigurableUser"
1445 % (self.name(), other.name())
1447 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 1459 of file Configurable.py.
1459 def __detach_used__(self):
1461 Remove this ConfigurableUser instance from the users list of the used
1464 for used
in self.__used_instances__:
1465 if hasattr(used,
"__users__"):
1466 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 1544 of file Configurable.py.
1544 def _instanceName(self, cls):
1546 Function used to define the name of the private instance of a given class
1548 This method is used when the __used_configurables_property__ declares the
1549 need of a private used configurable without specifying the name.
1551 if isinstance(cls, str):
1554 clName = cls.__name__
1555 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 1537 of file Configurable.py.
1537 def applyConf(self):
1539 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 1557 of file Configurable.py.
1557 def getUsedInstance(self, name):
1559 Return the used instance with a given name.
1561 for i
in self.__used_instances__:
1562 if i.name() == name:
1563 if hasattr(i,
"_enabled"):
1568 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 1570 of file Configurable.py.
1570 def isApplicable(self):
1572 Return True is the instance can be "applied".
1574 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 1517 of file Configurable.py.
1517 def propagateProperties(self, names=None, others=None, force=True):
1519 Call propagateProperty for each property listed in 'names'.
1520 If 'names' is None, all the properties are propagated.
1524 names = [p
for p
in self.__slots__
if not p.startswith(
"_")]
1526 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 1468 of file Configurable.py.
1468 def propagateProperty(self, name, others=None, force=True):
1470 Propagate the property 'name' (if set) to other configurables (if possible).
1473 propagate to all the entries in __used_configurables__
1474 a configurable instance:
1475 propagate only to it
1476 list of configurable instances:
1477 propagate to all of them.
1481 - if the local property is set, the other property will be overwritten
1482 - local property not set and other set => keep other
1483 - local property not set and other not set => overwrite the default for
1484 ConfigurableUser instances and set the property for Configurables
1488 others = self.__used_instances__
1489 elif type(others)
not in [list, tuple]:
1492 local_is_set = self.isPropertySet(name)
1493 value = self.getProp(name)
1495 for other
in [o
for o
in others
if name
in o.__slots__]:
1498 if other.isPropertySet(name):
1500 "Property '%(prop)s' is set in both '%(self)s' and '%(other)s', using '%(self)s.%(prop)s'"
1501 % {
"self": self.name(),
"other": other.name(),
"prop": name}
1503 other.setProp(name, value)
1505 elif not other.isPropertySet(name):
1506 if isinstance(other, ConfigurableUser):
1507 otherType =
type(other._properties[name].getDefault())
1508 other._properties[name].setDefault(value)
1509 if otherType
in (list, dict, set):
1512 other.setProp(name, otherType(value))
1514 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: