|
def | __init__ (self, name=None, **kwargs) |
|
def | getInstance (cls, name) |
|
def | name (self) |
|
def | name (self, value) |
|
def | name (self) |
|
def | __repr__ (self) |
|
def | __getstate__ (self) |
|
def | __setstate__ (self, state) |
|
def | __opt_value__ (self) |
|
def | __opt_properties__ (self, explicit_defaults=False) |
|
def | is_property_set (self, propname) |
|
def | getGaudiType (cls) |
|
def | getType (cls) |
|
def | getName (self) |
|
def | getFullJobOptName (self) |
|
def | toStringProperty (self) |
|
def | getDefaultProperties (cls) |
|
def | getDefaultProperty (cls, name) |
|
def | clone (self, newname=None) |
|
def | merge (self, other) |
|
def | __new__ (cls, name, bases, namespace, **kwds) |
|
Base class for all configurable instances.
Definition at line 128 of file _configurables.py.
◆ __init__()
def GaudiConfig2._configurables.Configurable.__init__ |
( |
|
self, |
|
|
|
name = None , |
|
|
** |
kwargs |
|
) |
| |
Definition at line 135 of file _configurables.py.
135 def __init__(self, name=None, **kwargs):
137 self._properties = {}
138 if "parent" in kwargs:
139 parent = kwargs.pop(
"parent")
140 if isinstance(parent, str):
141 parent = self.instances[parent]
143 raise TypeError(
"name is needed when a parent is specified")
144 name = f
"{parent.name}.{name}"
147 elif not _GLOBAL_INSTANCES:
148 self.name = self.__cpp_type__
149 for key, value
in kwargs.items():
150 setattr(self, key, value)
◆ __getstate__()
def GaudiConfig2._configurables.Configurable.__getstate__ |
( |
|
self | ) |
|
Definition at line 198 of file _configurables.py.
198 def __getstate__(self):
199 state = {
"properties": self._properties}
201 state[
"name"] = self.name
202 except AttributeError:
◆ __opt_properties__()
def GaudiConfig2._configurables.Configurable.__opt_properties__ |
( |
|
self, |
|
|
|
explicit_defaults = False |
|
) |
| |
Definition at line 216 of file _configurables.py.
216 def __opt_properties__(self, explicit_defaults=False):
219 for p
in self._descriptors.values():
220 if explicit_defaults
or p.__is_set__(self,
type(self)):
221 out[
".".join([name, p.name])] =
opt_repr(
222 p.__opt_value__(self,
type(self))
◆ __opt_value__()
def GaudiConfig2._configurables.Configurable.__opt_value__ |
( |
|
self | ) |
|
Definition at line 211 of file _configurables.py.
211 def __opt_value__(self):
212 if self.__cpp_type__ == self.name:
213 return self.__cpp_type__
214 return f
"{self.__cpp_type__}/{self.name}"
◆ __repr__()
def GaudiConfig2._configurables.Configurable.__repr__ |
( |
|
self | ) |
|
Definition at line 189 of file _configurables.py.
192 args.append(repr(self.name))
193 except AttributeError:
195 args.extend(f
"{k}={repr(v)}" for k, v
in self._properties.items())
196 return "{}({})".
format(
type(self).__name__,
", ".join(args))
◆ __setstate__()
def GaudiConfig2._configurables.Configurable.__setstate__ |
( |
|
self, |
|
|
|
state |
|
) |
| |
Definition at line 206 of file _configurables.py.
206 def __setstate__(self, state):
208 self.name = state.get(
"name")
209 self._properties = state[
"properties"]
◆ clone()
def GaudiConfig2._configurables.Configurable.clone |
( |
|
self, |
|
|
|
newname = None |
|
) |
| |
Clone instance with all its properties.
Definition at line 254 of file _configurables.py.
254 def clone(self, newname=None):
255 """Clone instance with all its properties."""
256 return self.__class__(newname, **self._properties)
◆ getDefaultProperties()
def GaudiConfig2._configurables.Configurable.getDefaultProperties |
( |
|
cls | ) |
|
Definition at line 247 of file _configurables.py.
247 def getDefaultProperties(cls):
248 return {k: v.default
for k, v
in cls._descriptors.items()}
◆ getDefaultProperty()
def GaudiConfig2._configurables.Configurable.getDefaultProperty |
( |
|
cls, |
|
|
|
name |
|
) |
| |
Definition at line 251 of file _configurables.py.
251 def getDefaultProperty(cls, name):
252 return cls._descriptors[name].default
◆ getFullJobOptName()
def GaudiConfig2._configurables.Configurable.getFullJobOptName |
( |
|
self | ) |
|
Definition at line 240 of file _configurables.py.
240 def getFullJobOptName(self):
241 return f
"{self.__cpp_type__}/{self.name}"
◆ getGaudiType()
def GaudiConfig2._configurables.Configurable.getGaudiType |
( |
|
cls | ) |
|
Definition at line 230 of file _configurables.py.
230 def getGaudiType(cls):
231 return cls.__component_type__
◆ getInstance()
def GaudiConfig2._configurables.Configurable.getInstance |
( |
|
cls, |
|
|
|
name |
|
) |
| |
◆ getName()
def GaudiConfig2._configurables.Configurable.getName |
( |
|
self | ) |
|
◆ getType()
def GaudiConfig2._configurables.Configurable.getType |
( |
|
cls | ) |
|
◆ is_property_set()
def GaudiConfig2._configurables.Configurable.is_property_set |
( |
|
self, |
|
|
|
propname |
|
) |
| |
Definition at line 226 of file _configurables.py.
226 def is_property_set(self, propname):
227 return self._descriptors[propname].__is_set__(self,
type(self))
◆ merge()
def GaudiConfig2._configurables.Configurable.merge |
( |
|
self, |
|
|
|
other |
|
) |
| |
Merge the properties of the other instance into the current one.
The two instances have to be of the same type, have the same name
(or both unnamed) and the settings must be mergable (according to
their semantics).
Definition at line 258 of file _configurables.py.
258 def merge(self, other):
260 Merge the properties of the other instance into the current one.
262 The two instances have to be of the same type, have the same name
263 (or both unnamed) and the settings must be mergable (according to
270 f
"cannot merge instance of {type(other).__name__} into an instance of { type(self).__name__}"
272 if hasattr(self,
"name") != hasattr(other,
"name"):
273 raise ValueError(
"cannot merge a named configurable with an unnamed one")
274 if hasattr(self,
"name")
and (self.name != other.name):
276 f
"cannot merge configurables with different names ({self.name} and {other.name})"
279 for name
in other._properties:
281 name
in self._properties
282 and self._properties[name] == other._properties[name]
286 self._properties[name] = self._descriptors[name].__merge__(
287 self,
type(self), getattr(other, name)
289 except ValueError
as err:
291 "conflicting settings for property {} of {}: {}".
format(
293 self.name
if hasattr(self,
"name")
else type(self).__name__,
◆ name() [1/3]
def GaudiConfig2._configurables.Configurable.name |
( |
|
self | ) |
|
Definition at line 157 of file _configurables.py.
159 raise AttributeError(
160 f
"{repr(type(self).__name__)} instance was not named yet"
◆ name() [2/3]
def GaudiConfig2._configurables.Configurable.name |
( |
|
self | ) |
|
Definition at line 181 of file _configurables.py.
182 if _GLOBAL_INSTANCES:
184 del self.instances[self.name]
187 raise TypeError(
"name attribute cannot be deleted")
◆ name() [3/3]
def GaudiConfig2._configurables.Configurable.name |
( |
|
self, |
|
|
|
value |
|
) |
| |
Definition at line 165 of file _configurables.py.
165 def name(self, value):
166 if value == self._name:
168 if not isinstance(value, str)
or not value:
169 raise TypeError(f
"expected string, got {type(value).__name__} instead")
170 if _GLOBAL_INSTANCES:
171 if value
in self.instances:
172 raise ValueError(f
"name {repr(value)} already used")
173 if self._name
in self.instances:
174 del self.instances[self._name]
176 self.instances[value] = self
◆ toStringProperty()
def GaudiConfig2._configurables.Configurable.toStringProperty |
( |
|
self | ) |
|
Definition at line 243 of file _configurables.py.
243 def toStringProperty(self):
244 return f
"{self.__cpp_type__}/{self.name}"
◆ __cpp_type__
GaudiConfig2._configurables.Configurable.__cpp_type__ |
|
private |
◆ _name
GaudiConfig2._configurables.Configurable._name |
|
private |
◆ _properties
GaudiConfig2._configurables.Configurable._properties |
|
private |
◆ instances
GaudiConfig2._configurables.Configurable.instances |
|
static |
◆ name
GaudiConfig2._configurables.Configurable.name |
The documentation for this class was generated from the following file: