def __getattr__(self, attr):
    if attr is None:
      return self.__data
    if self.__data is None:
      raise AttributeError('unreadable attribute')
    try:
      fget = getattr(self.__data, attr)
    except __HOLE__:
      raise TypeError('%s object does not have a %s attribute' %
              (type(self.__data).__name__, self.__data))
    return fget
dataset/ETHPy150Open deepanshumehndiratta/reactive-py/examples/reactive.py/_.__getattr__