Loading [MathJax]/extensions/tex2jax.js
The Gaudi Framework  v31r0 (aeb156f0)
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
DataObjectHandleBase.py
Go to the documentation of this file.
1 __doc__ = """The python module holding python bindings to DataObjectHandle"""
2 
3 # s = "/Path/to/Address"
4 
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  if other is None:
25  return False
26  raise ValueError(
27  'Unknown equality check: type=%r, repr=%r' % (type(other), other))
28 
29  def __ne__(self, other):
30  """
31  This is mandatory if __eq__ is defined.
32  """
33  return not self == other
34 
35  def __str__(self):
36  return self.Path
37 
38  def __repr__(self):
39  return "%s(\"%s\")" % (self.__class__.__name__, self.__str__())
40 
41  def toStringProperty(self):
42  return self.__str__()
43 
44  def __add__(self, other):
45  path = ':'.join(i + other for i in self.Path.split(':'))
46  return DataObjectHandleBase(path)
47 
48  def __radd__(self, other):
49  path = ':'.join(other + i for i in self.Path.split(':'))
50  return DataObjectHandleBase(path)
51 
52  def __iadd__(self, other):
53  self.Path = ':'.join(i + other for i in self.Path.split(':'))
54  return self