The Gaudi Framework  v36r6 (b1ee9983)
GaudiKernel.PropertyProxy.DataHandlePropertyProxy Class Reference
Inheritance diagram for GaudiKernel.PropertyProxy.DataHandlePropertyProxy:
Collaboration diagram for GaudiKernel.PropertyProxy.DataHandlePropertyProxy:

Public Member Functions

def __init__ (self, descr, docString, default)
 
def __get__ (self, obj, type=None)
 
def __set__ (self, obj, value)
 
def convertValueToBeSet (self, obj, value)
 
- Public Member Functions inherited from GaudiKernel.PropertyProxy.PropertyProxy
def setDefault (self, value)
 
def getDefault (self)
 
def fullPropertyName (self, obj)
 
def __delete__ (self, obj)
 

Additional Inherited Members

- Public Attributes inherited from GaudiKernel.PropertyProxy.PropertyProxy
 history
 
 descr
 
 deprecated
 
- Properties inherited from GaudiKernel.PropertyProxy.PropertyProxy
 default = property(getDefault, setDefault)
 

Detailed Description

Definition at line 424 of file PropertyProxy.py.

Constructor & Destructor Documentation

◆ __init__()

def GaudiKernel.PropertyProxy.DataHandlePropertyProxy.__init__ (   self,
  descr,
  docString,
  default 
)

Reimplemented from GaudiKernel.PropertyProxy.PropertyProxy.

Definition at line 425 of file PropertyProxy.py.

425  def __init__(self, descr, docString, default):
426  PropertyProxy.__init__(self, descr, docString, default)
427 

Member Function Documentation

◆ __get__()

def GaudiKernel.PropertyProxy.DataHandlePropertyProxy.__get__ (   self,
  obj,
  type = None 
)

Reimplemented from GaudiKernel.PropertyProxy.PropertyProxy.

Definition at line 428 of file PropertyProxy.py.

428  def __get__(self, obj, type=None):
429  try:
430  return self.descr.__get__(obj, type)
431  except AttributeError:
432  # Get default
433  try:
434  default = obj.__class__.getDefaultProperty(self.descr.__name__)
435  default = self.convertValueToBeSet(obj, default)
436  if default:
437  self.__set__(obj, default)
438  except AttributeError as e:
439  # change type of exception to avoid false error message
440  raise RuntimeError(*e.args)
441 
442  return self.descr.__get__(obj, type)
443 

◆ __set__()

def GaudiKernel.PropertyProxy.DataHandlePropertyProxy.__set__ (   self,
  obj,
  value 
)

Reimplemented from GaudiKernel.PropertyProxy.PropertyProxy.

Definition at line 444 of file PropertyProxy.py.

444  def __set__(self, obj, value):
445  if not obj._isInSetDefaults() or not obj in self.history:
446  value = self.convertValueToBeSet(obj, value)
447  # assign the value
448  self.descr.__set__(obj, value)
449  log.debug("Setting %s = %r", self.fullPropertyName(obj), value)
450  self.history.setdefault(obj, []).append(value)
451 

◆ convertValueToBeSet()

def GaudiKernel.PropertyProxy.DataHandlePropertyProxy.convertValueToBeSet (   self,
  obj,
  value 
)

Definition at line 452 of file PropertyProxy.py.

452  def convertValueToBeSet(self, obj, value):
453  if value is None:
454  value = ""
455 
456  mode = obj.__class__.getDefaultProperty(self.descr.__name__).mode()
457  _type = obj.__class__.getDefaultProperty(self.descr.__name__).type()
458  if type(value) == str:
459  return DataHandle(value, mode, _type)
460  elif isinstance(value, DataHandle):
461  return DataHandle(value.__str__(), mode, _type)
462  else:
463  raise ValueError(
464  "received an instance of %s, but %s expected"
465  % (type(value), "str or DataHandle")
466  )
467 
468 

The documentation for this class was generated from the following file:
gaudirun.type
type
Definition: gaudirun.py:160