ATLAS Offline Software
Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | List of all members
python.trfArgClasses.argSubstepInt Class Reference

Int substep argument. More...

Inheritance diagram for python.trfArgClasses.argSubstepInt:
Collaboration diagram for python.trfArgClasses.argSubstepInt:

Public Member Functions

def value (self)
 Return argument value. More...
 
def prodsysDescription (self)
 
def value (self, value)
 Set argument value. More...
 
def returnMyValue (self, name=None, substep=None, first=False, exe=None)
 Return the value of this substep arg for an executor with the given parameters. More...
 
def isRunarg (self)
 Return runarg status. More...
 
def name (self)
 Name getter. More...
 
def name (self, value)
 Name setter. More...
 
def __str__ (self)
 String conversion of our value. More...
 
def __repr__ (self)
 Repr conversion of our value. More...
 
def __eq__ (self, other)
 Comparison is based on value attribute. More...
 
def __nq__ (self, other)
 
def __lt__ (self, other)
 
def __gt__ (self, other)
 

Public Attributes

 value
 

Private Member Functions

def _parseStringAsSubstep (self, string)
 Parse a string for substep:value format. More...
 

Private Attributes

 _value
 
 _defaultSubstep
 
 _separator
 
 _runarg
 
 _name
 

Detailed Description

Int substep argument.

Definition at line 2202 of file trfArgClasses.py.

Member Function Documentation

◆ __eq__()

def python.trfArgClasses.argument.__eq__ (   self,
  other 
)
inherited

Comparison is based on value attribute.

Definition at line 161 of file trfArgClasses.py.

161  def __eq__(self,other):
162  return self.value == other.value
163 

◆ __gt__()

def python.trfArgClasses.argument.__gt__ (   self,
  other 
)
inherited

Definition at line 170 of file trfArgClasses.py.

170  def __gt__(self, other):
171  return self.value > other.value
172 

◆ __lt__()

def python.trfArgClasses.argument.__lt__ (   self,
  other 
)
inherited

Definition at line 167 of file trfArgClasses.py.

167  def __lt__(self, other):
168  return self.value < other.value
169 

◆ __nq__()

def python.trfArgClasses.argument.__nq__ (   self,
  other 
)
inherited

Definition at line 164 of file trfArgClasses.py.

164  def __nq__(self, other):
165  return self.value != other.value
166 

◆ __repr__()

def python.trfArgClasses.argument.__repr__ (   self)
inherited

Repr conversion of our value.

Reimplemented in python.trfArgClasses.argList.

Definition at line 157 of file trfArgClasses.py.

157  def __repr__(self):
158  return repr(self.value)
159 

◆ __str__()

def python.trfArgClasses.argument.__str__ (   self)
inherited

String conversion of our value.

Reimplemented in python.trfArgClasses.argFile, python.trfArgClasses.argKeyFloatValueList, python.trfArgClasses.argIntList, python.trfArgClasses.argList, and python.trfArgClasses.argString.

Definition at line 153 of file trfArgClasses.py.

153  def __str__(self):
154  return '{0}: Value {1} (isRunArg={2})'.format(self.__class__.__name__, self._value, self._runarg)
155 

◆ _parseStringAsSubstep()

def python.trfArgClasses.argSubstep._parseStringAsSubstep (   self,
  string 
)
privateinherited

Parse a string for substep:value format.

If the string matches the substep specifier regexp then we return the two parts; if not then the substep is returned as self._defaultSubstep, with the entire string passed back as the value

Parameters
stringThe string which should be parsed

Reimplemented in python.trfArgClasses.argSubstepList.

Definition at line 1987 of file trfArgClasses.py.

1987  def _parseStringAsSubstep(self, string):
1988  subStepMatch = re.match(r'([a-zA-Z0-9,]+)' + self._separator + r'(.*)', string)
1989  subStepList = []
1990  if subStepMatch:
1991  subStep = subStepMatch.group(1).split(',')
1992  subStepValue = subStepMatch.group(2)
1993  else:
1994  subStep = [self._defaultSubstep]
1995  subStepValue = string
1996  msg.debug('Parsed {0} as substep {1}, argument {2}'.format(string, subStep, subStepValue))
1997  for step in subStep:
1998  subStepList.append((step, subStepValue))
1999  return subStepList
2000 
2001 

◆ isRunarg()

def python.trfArgClasses.argument.isRunarg (   self)
inherited

Return runarg status.

Definition at line 134 of file trfArgClasses.py.

134  def isRunarg(self):
135  return self._runarg
136 

◆ name() [1/2]

def python.trfArgClasses.argument.name (   self)
inherited

Name getter.

Reimplemented in python.trfArgClasses.argFile.

Definition at line 139 of file trfArgClasses.py.

139  def name(self):
140  return self._name
141 

◆ name() [2/2]

def python.trfArgClasses.argument.name (   self,
  value 
)
inherited

Name setter.

Reimplemented in python.trfArgClasses.argFile.

Definition at line 144 of file trfArgClasses.py.

144  def name(self, value):
145  self._name = value
146 

◆ prodsysDescription()

def python.trfArgClasses.argSubstepInt.prodsysDescription (   self)

Reimplemented from python.trfArgClasses.argSubstep.

Definition at line 2210 of file trfArgClasses.py.

2210  def prodsysDescription(self):
2211  desc = {'type': 'substep', 'substeptype': 'int', 'separator': self._separator,
2212  'default': self._defaultSubstep}
2213  return desc
2214 

◆ returnMyValue()

def python.trfArgClasses.argSubstep.returnMyValue (   self,
  name = None,
  substep = None,
  first = False,
  exe = None 
)
inherited

Return the value of this substep arg for an executor with the given parameters.

Parameters
nameExecutor name
substepExecutor substep nickname
firstBoolean flag set true if this is the first executor in the chain
exeExecutor instance, from which 'name', 'substep' and 'first' can be taken.

Definition at line 2007 of file trfArgClasses.py.

2007  def returnMyValue(self, name=None, substep=None, first=False, exe=None):
2008  if exe:
2009  name = exe.name
2010  substep = exe.substep
2011  first = exe.conf.firstExecutor
2012 
2013  name = commonExecutorStepName(name)
2014 
2015  value = None
2016 
2017  if name in self._value:
2018  value = self._value[name]
2019  elif substep in self._value:
2020  value = self._value[substep]
2021  elif first and 'first' in self._value:
2022  value = self._value['first']
2023  elif 'default' in self._value:
2024  value = self._value['default']
2025 
2026 
2034  if 'all' in self._value:
2035  if value is None:
2036  value = self._value['all']
2037  elif isinstance(value, list):
2038  value = self._value['all'] + value
2039 
2040  msg.debug('From substep argument {myvalue} picked value "{value}" for {name}, {substep}, first={first}'.format(myvalue=self._value, value=value, name=name, substep=substep, first=first))
2041 
2042  return value
2043 

◆ value() [1/2]

def python.trfArgClasses.argSubstepInt.value (   self)

Return argument value.

Returns
Current value

Reimplemented from python.trfArgClasses.argSubstep.

Definition at line 2206 of file trfArgClasses.py.

2206  def value(self):
2207  return self._value
2208 

◆ value() [2/2]

def python.trfArgClasses.argSubstepInt.value (   self,
  value 
)

Set argument value.

Note
No conversion or coercion done

Reimplemented from python.trfArgClasses.argSubstep.

Definition at line 2216 of file trfArgClasses.py.

2216  def value(self, value):
2217  msg.debug('Attempting to set argSubstep from {0!s} (type {1}'.format(value, type(value)))
2218  try:
2219  if value is None:
2220  self._value = {}
2221  elif isinstance(value, int):
2222  self._value = {self._defaultSubstep: value}
2223  elif isinstance(value, str):
2224  subStepList = self._parseStringAsSubstep(value)
2225  self._value = dict([(subStep[0], int(subStep[1])) for subStep in subStepList])
2226  elif isinstance(value, (list, tuple)):
2227  # This is a list of strings to parse
2228  self._value = {}
2229  for item in value:
2230  if not isinstance(item, str):
2231  raise trfExceptions.TransformArgException(trfExit.nameToCode('TRF_ARG_CONV_FAIL'), 'Failed to convert list item {0!s} to substep (should be a string)'.format(item))
2232  subStepList = self._parseStringAsSubstep(item)
2233  for subStep in subStepList:
2234  self._value[subStep[0]] = int(subStep[1])
2235  elif isinstance(value, dict):
2236  for k, v in value.items():
2237  if not isinstance(k, str):
2238  raise trfExceptions.TransformArgException(trfExit.nameToCode('TRF_ARG_CONV_FAIL'), 'Dictionary key {0!s} for substep is not a string'.format(k))
2239  if not isinstance(v, int):
2240  raise trfExceptions.TransformArgException(trfExit.nameToCode('TRF_ARG_CONV_FAIL'), 'Dictionary value {0!s} for substep is not an int'.format(v))
2241  self._value = value
2242  else:
2243  raise trfExceptions.TransformArgException(trfExit.nameToCode('TRF_ARG_CONV_FAIL'), 'Setter value {0!s} (type {1}) for substep argument cannot be parsed'.format(value, type(value)))
2244  except ValueError:
2245  raise trfExceptions.TransformArgException(trfExit.nameToCode('TRF_ARG_CONV_FAIL'), 'Failed to convert substep value {0} to int'.format(value))
2246 
2247 
2248 

Member Data Documentation

◆ _defaultSubstep

python.trfArgClasses.argSubstep._defaultSubstep
privateinherited

Definition at line 1952 of file trfArgClasses.py.

◆ _name

python.trfArgClasses.argument._name
privateinherited

Definition at line 111 of file trfArgClasses.py.

◆ _runarg

python.trfArgClasses.argument._runarg
privateinherited

Definition at line 110 of file trfArgClasses.py.

◆ _separator

python.trfArgClasses.argSubstep._separator
privateinherited

Definition at line 1953 of file trfArgClasses.py.

◆ _value

python.trfArgClasses.argSubstepInt._value
private

Definition at line 2220 of file trfArgClasses.py.

◆ value

python.trfArgClasses.argument.value
inherited
Note
We have a default of None here, but all derived classes should definitely have their own value setter and translate this value to something sensible for their underlying value type. N.B. As most argument classes use this default constructor it must call the @value .setter function!

Definition at line 118 of file trfArgClasses.py.


The documentation for this class was generated from the following file:
vtune_athena.format
format
Definition: vtune_athena.py:14
athena.value
value
Definition: athena.py:124
python.CaloAddPedShiftConfig.type
type
Definition: CaloAddPedShiftConfig.py:42
PyAthena::repr
std::string repr(PyObject *o)
returns the string representation of a python object equivalent of calling repr(o) in python
Definition: PyAthenaUtils.cxx:106
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
python.trfExeStepTools.commonExecutorStepName
def commonExecutorStepName(name)
Definition: trfExeStepTools.py:7
python.CaloAddPedShiftConfig.int
int
Definition: CaloAddPedShiftConfig.py:45
Trk::split
@ split
Definition: LayerMaterialProperties.h:38