ATLAS Offline Software
Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
python.AthConfigFlags.FlagAddress Class Reference
Inheritance diagram for python.AthConfigFlags.FlagAddress:
Collaboration diagram for python.AthConfigFlags.FlagAddress:

Public Member Functions

def __init__ (self, f, name)
 
def __getattr__ (self, name)
 
def __setattr__ (self, name, value)
 
def __delattr__ (self, name)
 
def __cmp__ (self, other)
 
def __bool__ (self)
 
def __getitem__ (self, name)
 
def __setitem__ (self, name, value)
 
def __delitem__ (self, name)
 
def __iter__ (self)
 
def asdict (self)
 

Private Member Functions

def _subflag_itr (self)
 

Private Attributes

 _flags
 
 _name
 

Static Private Attributes

def __eq__ = __cmp__
 
def __ne__ = __cmp__
 
def __lt__ = __cmp__
 
def __le__ = __cmp__
 
def __gt__ = __cmp__
 
def __ge__ = __cmp__
 

Detailed Description

Definition at line 121 of file AthConfigFlags.py.

Constructor & Destructor Documentation

◆ __init__()

def python.AthConfigFlags.FlagAddress.__init__ (   self,
  f,
  name 
)

Definition at line 122 of file AthConfigFlags.py.

122  def __init__(self, f, name):
123  if isinstance(f, AthConfigFlags):
124  self._flags = f
125  rname = self._flags._renames.get(name, name)
126  self._name = rname
127 
128  elif isinstance(f, FlagAddress):
129  self._flags = f._flags
130  name = f._name+"."+name
131  rname = self._flags._renames.get(name, name)
132  self._name = rname
133 

Member Function Documentation

◆ __bool__()

def python.AthConfigFlags.FlagAddress.__bool__ (   self)

Definition at line 161 of file AthConfigFlags.py.

161  def __bool__(self):
162  raise RuntimeError( "No such flag: "+ self._name+". The name is likely incomplete." )
163 

◆ __cmp__()

def python.AthConfigFlags.FlagAddress.__cmp__ (   self,
  other 
)

Definition at line 152 of file AthConfigFlags.py.

152  def __cmp__(self, other):
153  raise RuntimeError( "No such flag: "+ self._name+". The name is likely incomplete." )

◆ __delattr__()

def python.AthConfigFlags.FlagAddress.__delattr__ (   self,
  name 
)

Definition at line 149 of file AthConfigFlags.py.

149  def __delattr__(self, name):
150  del self[name]
151 

◆ __delitem__()

def python.AthConfigFlags.FlagAddress.__delitem__ (   self,
  name 
)

Definition at line 170 of file AthConfigFlags.py.

170  def __delitem__(self, name):
171  merged = self._name + "." + name
172  del self._flags[merged]
173 

◆ __getattr__()

def python.AthConfigFlags.FlagAddress.__getattr__ (   self,
  name 
)

Definition at line 134 of file AthConfigFlags.py.

134  def __getattr__(self, name):
135  return getattr(self._flags, self._name + "." + name)
136 

◆ __getitem__()

def python.AthConfigFlags.FlagAddress.__getitem__ (   self,
  name 
)

Definition at line 164 of file AthConfigFlags.py.

164  def __getitem__(self, name):
165  return getattr(self, name)
166 

◆ __iter__()

def python.AthConfigFlags.FlagAddress.__iter__ (   self)

Definition at line 174 of file AthConfigFlags.py.

174  def __iter__(self):
175  self._flags.loadAllDynamicFlags()
176  rmap = self._flags._renamed_map()
177  used = set()
178  for flag in self._flags._flagdict.keys():
179  if flag.startswith(self._name.rstrip('.') + '.'):
180  for newflag in rmap[flag]:
181  ntrim = len(self._name) + 1
182  n_dots_in = flag[:ntrim].count('.')
183  remaining = newflag.split('.')[n_dots_in]
184  if remaining not in used:
185  yield remaining
186  used.add(remaining)
187 

◆ __setattr__()

def python.AthConfigFlags.FlagAddress.__setattr__ (   self,
  name,
  value 
)

Definition at line 137 of file AthConfigFlags.py.

137  def __setattr__( self, name, value ):
138  if name.startswith("_"):
139  return object.__setattr__(self, name, value)
140  merged = self._name + "." + name
141 
142  if not self._flags.hasFlag( merged ): # flag is misisng, try loading dynamic ones
143  self._flags._loadDynaFlags( merged )
144 
145  if not self._flags.hasFlag( merged ):
146  raise RuntimeError( "No such flag: {} The name is likely incomplete.".format(merged) )
147  return self._flags._set( merged, value )
148 

◆ __setitem__()

def python.AthConfigFlags.FlagAddress.__setitem__ (   self,
  name,
  value 
)

Definition at line 167 of file AthConfigFlags.py.

167  def __setitem__(self, name, value):
168  setattr(self, name, value)
169 

◆ _subflag_itr()

def python.AthConfigFlags.FlagAddress._subflag_itr (   self)
private
Subflag iterator specialized for this address

Definition at line 188 of file AthConfigFlags.py.

188  def _subflag_itr(self):
189  """Subflag iterator specialized for this address
190 
191  """
192  self._flags.loadAllDynamicFlags()
193  address = self._name
194  rename = self._flags._renamed_map()
195  for key in self._flags._flagdict.keys():
196  if key.startswith(address.rstrip('.') + '.'):
197  ntrim = len(address) + 1
198  remaining = key[ntrim:]
199  for r in rename[key]:
200  yield r, getattr(self, remaining)
201 

◆ asdict()

def python.AthConfigFlags.FlagAddress.asdict (   self)
Convert to a python dictionary

Recursively convert this flag and all subflags into a
structure of nested dictionaries. All dynamic flags are
resolved in the process.

The resulting data structure should be easy to serialize as
json or yaml.

Definition at line 202 of file AthConfigFlags.py.

202  def asdict(self):
203  """Convert to a python dictionary
204 
205  Recursively convert this flag and all subflags into a
206  structure of nested dictionaries. All dynamic flags are
207  resolved in the process.
208 
209  The resulting data structure should be easy to serialize as
210  json or yaml.
211 
212  """
213  d = _asdict(self._subflag_itr())
214  for k in self._name.split('.'):
215  d = d[k]
216  return d
217 
218 

Member Data Documentation

◆ __eq__

def python.AthConfigFlags.FlagAddress.__eq__ = __cmp__
staticprivate

Definition at line 154 of file AthConfigFlags.py.

◆ __ge__

def python.AthConfigFlags.FlagAddress.__ge__ = __cmp__
staticprivate

Definition at line 159 of file AthConfigFlags.py.

◆ __gt__

def python.AthConfigFlags.FlagAddress.__gt__ = __cmp__
staticprivate

Definition at line 158 of file AthConfigFlags.py.

◆ __le__

def python.AthConfigFlags.FlagAddress.__le__ = __cmp__
staticprivate

Definition at line 157 of file AthConfigFlags.py.

◆ __lt__

def python.AthConfigFlags.FlagAddress.__lt__ = __cmp__
staticprivate

Definition at line 156 of file AthConfigFlags.py.

◆ __ne__

def python.AthConfigFlags.FlagAddress.__ne__ = __cmp__
staticprivate

Definition at line 155 of file AthConfigFlags.py.

◆ _flags

python.AthConfigFlags.FlagAddress._flags
private

Definition at line 124 of file AthConfigFlags.py.

◆ _name

python.AthConfigFlags.FlagAddress._name
private

Definition at line 126 of file AthConfigFlags.py.


The documentation for this class was generated from the following file:
vtune_athena.format
format
Definition: vtune_athena.py:14
python.Bindings.__iter__
__iter__
Definition: Control/AthenaPython/python/Bindings.py:783
XMLtoHeader.count
count
Definition: XMLtoHeader.py:85
python.AthConfigFlags._asdict
def _asdict(iterator)
Definition: AthConfigFlags.py:105
CxxUtils::set
constexpr std::enable_if_t< is_bitmask_v< E >, E & > set(E &lhs, E rhs)
Convenience function to set bits in a class enum bitmask.
Definition: bitmask.h:224
python.processes.powheg.ZZ.ZZ.__init__
def __init__(self, base_directory, **kwargs)
Constructor: all process options are set here.
Definition: ZZ.py:18
python.Bindings.__setitem__
__setitem__
Definition: Control/AthenaPython/python/Bindings.py:763
python.PyAthenaComps.__setattr__
__setattr__
Definition: PyAthenaComps.py:41
python.Bindings.__getitem__
__getitem__
Definition: Control/AthenaPython/python/Bindings.py:771
Trk::split
@ split
Definition: LayerMaterialProperties.h:38