DataObjectHandleBase.py
Go to the documentation of this file.
1 __version__ = "$Revision: 0.1 $"
2 __doc__ = """The python module holding python bindings to DataObjectHandle"""
3 
4 # s = "/Path/to/Address"
5 
6 class DataObjectHandleBase(object):
7 
8  __slots__ = ('Path', )
9 
10  #define accessTypes
11 
12  def __init__(self, path):
13  object.__init__(self)
14  self.Path = path
15 
16  def __eq__(self, other):
17  """
18  Need especially Configurable.isPropertySet when checked against default.
19  """
20  if isinstance(other, DataObjectHandleBase):
21  return self.Path == other.Path
22  if isinstance(other, basestring):
23  return self.Path == other
24  raise ValueError('Unknown equality check: type=%r, repr=%r'%(type(other), other))
25 
26  def __ne__(self, other):
27  """
28  This is mandatory if __eq__ is defined.
29  """
30  return not self==other
31 
32  def __str__(self):
33  return self.Path
34 
35  def __repr__(self):
36  return "%s(\"%s\")" % (self.__class__.__name__, self.__str__())
37 
38  def toStringProperty(self):
39  return self.__str__()
40 
41  def __add__(self,other):
42  self.Path = ':'.join( i + other for i in self.Path.split(':'))
43  return self
44 
45  def __radd__(self,other):
46  self.Path = ':'.join( other + i for i in self.Path.split(':'))
47  return self
48 
49  def __iadd__(self,other):
50  self.Path = ':'.join( i + other for i in self.Path.split(':'))
51  return self