CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Attributes
Vispa.Share.BasicDataAccessor.BasicDataAccessorInterface Class Reference
Inheritance diagram for Vispa.Share.BasicDataAccessor.BasicDataAccessorInterface:

Public Member Functions

def __getattr__
 
def __init__
 
def runScript
 

Private Attributes

 _accessor
 
 _object
 
 _throwAttributeErrors
 

Detailed Description

This class gives a comfortable Interface to objects accessible via an accessor.

Given the object and the accessor all properties and attributes of the object and
the accessor are accessible via __getattr__. A script in which all attributes
of the objects can be accessed can be run. 

Definition at line 77 of file BasicDataAccessor.py.

Constructor & Destructor Documentation

def Vispa.Share.BasicDataAccessor.BasicDataAccessorInterface.__init__ (   self,
  object,
  accessor,
  throwAttributeErrors = True 
)

Member Function Documentation

def Vispa.Share.BasicDataAccessor.BasicDataAccessorInterface.__getattr__ (   self,
  attr 
)

Definition at line 89 of file BasicDataAccessor.py.

References Vispa.Share.BasicDataAccessor.BasicDataAccessorInterface._accessor, Vispa.Share.BasicDataAccessor.BasicDataAccessorInterface._object, and Vispa.Share.BasicDataAccessor.BasicDataAccessorInterface._throwAttributeErrors.

Referenced by VarParsing.VarParsing.setType().

89 
90  def __getattr__(self, attr):
91  if attr in [p[1] for p in self._accessor.properties(self._object)]:
92  return self._accessor.propertyValue(self._object, attr)
93  elif hasattr(self._object, attr):
94  return getattr(self._object, attr)
95  elif hasattr(self._accessor, attr):
96  return getattr(self._accessor, attr)(self._object)
97  else:
98  if self._throwAttributeErrors:
99  raise AttributeError("object has no property '" + attr + "'")
100  else:
101  return "???"
def Vispa.Share.BasicDataAccessor.BasicDataAccessorInterface.runScript (   self,
  script 
)

Definition at line 102 of file BasicDataAccessor.py.

103  def runScript(self, script):
104  object = self
105  exec "result=" + str(script)
106  return result

Member Data Documentation

Vispa.Share.BasicDataAccessor.BasicDataAccessorInterface._accessor
private

Definition at line 86 of file BasicDataAccessor.py.

Referenced by Vispa.Share.BasicDataAccessor.BasicDataAccessorInterface.__getattr__().

Vispa.Share.BasicDataAccessor.BasicDataAccessorInterface._object
private

Definition at line 85 of file BasicDataAccessor.py.

Referenced by Vispa.Share.BasicDataAccessor.BasicDataAccessorInterface.__getattr__(), Vispa.Views.LineDecayView.ParticleWidget.object(), and Vispa.Views.LineDecayView.ParticleWidget.setObject().

Vispa.Share.BasicDataAccessor.BasicDataAccessorInterface._throwAttributeErrors
private

Definition at line 87 of file BasicDataAccessor.py.

Referenced by Vispa.Share.BasicDataAccessor.BasicDataAccessorInterface.__getattr__().