|
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) |
|
Base class for all configurable instances.
Definition at line 145 of file _configurables.py.
◆ __init__()
def GaudiConfig2._configurables.Configurable.__init__ |
( |
|
self, |
|
|
|
name = None , |
|
|
** |
kwargs |
|
) |
| |
Definition at line 152 of file _configurables.py.
152 def __init__(self, name=None, **kwargs):
154 self._properties = {}
155 if "parent" in kwargs:
156 parent = kwargs.pop(
"parent")
157 if isinstance(parent, str):
158 parent = self.instances[parent]
160 raise TypeError(
"name is needed when a parent is specified")
161 name =
"{}.{}".
format(parent.name, name)
164 elif not _GLOBAL_INSTANCES:
165 self.name = self.__cpp_type__
166 for key, value
in kwargs.items():
167 setattr(self, key, value)
◆ __getstate__()
def GaudiConfig2._configurables.Configurable.__getstate__ |
( |
|
self | ) |
|
Definition at line 217 of file _configurables.py.
217 def __getstate__(self):
218 state = {
"properties": self._properties}
220 state[
"name"] = self.name
221 except AttributeError:
◆ __opt_properties__()
def GaudiConfig2._configurables.Configurable.__opt_properties__ |
( |
|
self, |
|
|
|
explicit_defaults = False |
|
) |
| |
Definition at line 235 of file _configurables.py.
235 def __opt_properties__(self, explicit_defaults=False):
238 for p
in self._descriptors.values():
239 if explicit_defaults
or p.__is_set__(self,
type(self)):
240 out[
".".join([name, p.name])] =
opt_repr(
241 p.__opt_value__(self,
type(self))
◆ __opt_value__()
def GaudiConfig2._configurables.Configurable.__opt_value__ |
( |
|
self | ) |
|
Definition at line 230 of file _configurables.py.
230 def __opt_value__(self):
231 if self.__cpp_type__ == self.name:
232 return self.__cpp_type__
233 return "{}/{}".
format(self.__cpp_type__, self.name)
◆ __repr__()
def GaudiConfig2._configurables.Configurable.__repr__ |
( |
|
self | ) |
|
Definition at line 208 of file _configurables.py.
211 args.append(repr(self.name))
212 except AttributeError:
214 args.extend(
"{}={!r}".
format(*item)
for item
in self._properties.
items())
215 return "{}({})".
format(
type(self).__name__,
", ".join(args))
◆ __setstate__()
def GaudiConfig2._configurables.Configurable.__setstate__ |
( |
|
self, |
|
|
|
state |
|
) |
| |
Definition at line 225 of file _configurables.py.
225 def __setstate__(self, state):
227 self.name = state.get(
"name")
228 self._properties = state[
"properties"]
◆ clone()
def GaudiConfig2._configurables.Configurable.clone |
( |
|
self, |
|
|
|
newname = None |
|
) |
| |
Clone instance with all its properties.
Definition at line 273 of file _configurables.py.
273 def clone(self, newname=None):
274 """Clone instance with all its properties."""
275 return self.__class__(newname, **self._properties)
◆ getDefaultProperties()
def GaudiConfig2._configurables.Configurable.getDefaultProperties |
( |
|
cls | ) |
|
Definition at line 266 of file _configurables.py.
266 def getDefaultProperties(cls):
267 return {k: v.default
for k, v
in cls._descriptors.
items()}
◆ getDefaultProperty()
def GaudiConfig2._configurables.Configurable.getDefaultProperty |
( |
|
cls, |
|
|
|
name |
|
) |
| |
Definition at line 270 of file _configurables.py.
270 def getDefaultProperty(cls, name):
271 return cls._descriptors[name].default
◆ getFullJobOptName()
def GaudiConfig2._configurables.Configurable.getFullJobOptName |
( |
|
self | ) |
|
Definition at line 259 of file _configurables.py.
259 def getFullJobOptName(self):
260 return "{}/{}".
format(self.__cpp_type__, self.name)
◆ getGaudiType()
def GaudiConfig2._configurables.Configurable.getGaudiType |
( |
|
cls | ) |
|
Definition at line 249 of file _configurables.py.
249 def getGaudiType(cls):
250 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 245 of file _configurables.py.
245 def is_property_set(self, propname):
246 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 277 of file _configurables.py.
277 def merge(self, other):
279 Merge the properties of the other instance into the current one.
281 The two instances have to be of the same type, have the same name
282 (or both unnamed) and the settings must be mergable (according to
289 "cannot merge instance of {} into an instance of {}".
format(
290 type(other).__name__,
type(self).__name__
293 if hasattr(self,
"name") != hasattr(other,
"name"):
294 raise ValueError(
"cannot merge a named configurable with an unnamed one")
295 if hasattr(self,
"name")
and (self.name != other.name):
297 "cannot merge configurables with different names ({} and {})".
format(
298 self.name, other.name
302 for name
in other._properties:
304 name
in self._properties
305 and self._properties[name] == other._properties[name]
312 self._descriptors[name].__merge__(
313 self,
type(self), getattr(other, name)
316 except ValueError
as err:
318 "conflicting settings for property {} of {}: {}".
format(
320 self.name
if hasattr(self,
"name")
else type(self).__name__,
◆ name() [1/3]
def GaudiConfig2._configurables.Configurable.name |
( |
|
self | ) |
|
◆ name() [2/3]
def GaudiConfig2._configurables.Configurable.name |
( |
|
self | ) |
|
Definition at line 200 of file _configurables.py.
201 if _GLOBAL_INSTANCES:
203 del self.instances[self.name]
206 raise TypeError(
"name attribute cannot be deleted")
◆ name() [3/3]
def GaudiConfig2._configurables.Configurable.name |
( |
|
self, |
|
|
|
value |
|
) |
| |
Definition at line 182 of file _configurables.py.
182 def name(self, value):
183 if value == self._name:
185 if not isinstance(value, str)
or not value:
187 "expected string, got {} instead".
format(
type(value).__name__)
189 if _GLOBAL_INSTANCES:
190 if value
in self.instances:
191 raise ValueError(
"name {!r} already used".
format(value))
192 if self._name
in self.instances:
193 del self.instances[self._name]
195 self.instances[value] = self
◆ toStringProperty()
def GaudiConfig2._configurables.Configurable.toStringProperty |
( |
|
self | ) |
|
Definition at line 262 of file _configurables.py.
262 def toStringProperty(self):
263 return "{}/{}".
format(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: