ATLAS Offline Software
Loading...
Searching...
No Matches
python.Configurables.CfgPyComponent Class Reference

Configurable base class for all Py compmonents -------------------------—. More...

Inheritance diagram for python.Configurables.CfgPyComponent:
Collaboration diagram for python.Configurables.CfgPyComponent:

Public Member Functions

 __init__ (self, name, **kw)
 getDlls (self)
 msg (self)
 getHandle (self)
 __getstate__ (self)
 __setstate__ (self, state)
 setup (self)
 merge (self, other)

Public Attributes

 OutputLevel = _get_prop_value (self, 'OutputLevel')
 special case of the OutputLevel: take the value from the svcMgr.MessageSvc if none already set by user

Private Attributes

 __dict__

Detailed Description

Configurable base class for all Py compmonents -------------------------—.

Definition at line 46 of file Configurables.py.

Constructor & Destructor Documentation

◆ __init__()

python.Configurables.CfgPyComponent.__init__ ( self,
name,
** kw )

Definition at line 47 of file Configurables.py.

47 def __init__(self, name, **kw):
48 self.__dict__['__cpp_type__'] = self.getType()
49 for n,v in kw.items():
50 setattr(self, n, v)
51

Member Function Documentation

◆ __getstate__()

python.Configurables.CfgPyComponent.__getstate__ ( self)

Definition at line 63 of file Configurables.py.

63 def __getstate__(self):
64 state = super().__getstate__()
65 state.update(self.__dict__)
66 return state
67

◆ __setstate__()

python.Configurables.CfgPyComponent.__setstate__ ( self,
state )

Definition at line 68 of file Configurables.py.

68 def __setstate__(self, state):
69 self.__dict__.update(state)
70 super().__setstate__(state)
71

◆ getDlls()

python.Configurables.CfgPyComponent.getDlls ( self)

Definition at line 52 of file Configurables.py.

52 def getDlls(self):
53 return 'AthenaPython'
54

◆ getHandle()

python.Configurables.CfgPyComponent.getHandle ( self)

Definition at line 60 of file Configurables.py.

60 def getHandle(self):
61 return None
62

◆ merge()

python.Configurables.CfgPyComponent.merge ( self,
other )
Basic merge for Python components.
Checks that all attributes/properties are identical.

Definition at line 91 of file Configurables.py.

91 def merge(self, other):
92 """Basic merge for Python components.
93 Checks that all attributes/properties are identical.
94 """
95 if self is other:
96 return self
97
98 if type(self) is not type(other):
99 raise TypeError(f"cannot merge instance of {type(other).__name__} into "
100 f"an instance of { type(self).__name__}")
101
102 if self.name != other.name:
103 raise ValueError(f"cannot merge configurables with different names ({self.name} and {other.name})")
104
105 for prop in other.__dict__:
106 if (hasattr(self, prop) and getattr(self, prop) == getattr(other, prop)):
107 continue
108 else:
109 raise ValueError(f"conflicting settings for property {prop} of {self.name}: "
110 f"{getattr(self,prop)} vs {getattr(other,prop)}")
111 return self
112
113
Definition merge.py:1

◆ msg()

python.Configurables.CfgPyComponent.msg ( self)

Definition at line 56 of file Configurables.py.

56 def msg(self):
57 import AthenaCommon.Logging as _L
58 return _L.logging.getLogger( self.getName() )
59
MsgStream & msg
Definition testRead.cxx:32

◆ setup()

python.Configurables.CfgPyComponent.setup ( self)

Reimplemented in python.Configurables.CfgPyAlgorithm, python.Configurables.CfgPyAlgTool, python.Configurables.CfgPyAud, and python.Configurables.CfgPyService.

Definition at line 72 of file Configurables.py.

72 def setup(self):
73 if isinstance(self, LegacyConfigurable):
74 from AthenaCommon.AppMgr import ServiceMgr as svcMgr
75 if not hasattr( svcMgr, 'PyComponentMgr' ):
76 from AthenaPython.AthenaPythonCompsConf import PyAthena__PyComponentMgr
77 svcMgr += PyAthena__PyComponentMgr('PyComponentMgr')
78
79
81 self.OutputLevel = _get_prop_value (self, 'OutputLevel')
82
83
84 o = PyComponents.instances.get(self.getName(), None)
85 if not (o is None) and not (o is self):
86 err = "A python component [%r] has already been "\
87 "registered with the PyComponents registry !" % o
88 raise RuntimeError(err)
89 PyComponents.instances[self.getName()] = self
90
bool setup(asg::AnaToolHandle< Interface > &tool, const std::string &type, const std::vector< std::string > &config, const std::string &progressFile="")
mostly useful for athena, which will otherwise re-use the previous tool

Member Data Documentation

◆ __dict__

python.Configurables.CfgPyComponent.__dict__
private

Definition at line 65 of file Configurables.py.

◆ OutputLevel

python.Configurables.CfgPyComponent.OutputLevel = _get_prop_value (self, 'OutputLevel')

special case of the OutputLevel: take the value from the svcMgr.MessageSvc if none already set by user

Definition at line 81 of file Configurables.py.


The documentation for this class was generated from the following file: