def setattr(self, attr, value): """ Find the attribute referred to by 'attr', and set it to 'value'. """ pos = attr.rfind('.') if pos > -1: path = attr[:pos] attr = attr[pos+1:] obj = traverse(self, path) else: obj = self return setattr(obj, attr, value)
def setattr(self, attr, value): """ Find the attribute referred to by 'attr', and set it to 'value'. """ pos = attr.rfind('.') if pos > -1: path = attr[:pos] attr = attr[pos + 1:] obj = traverse(self, path) else: obj = self return setattr(obj, attr, value)
def __call__(self, *args, **kwargs): return traverse (self.other, self.path)(*args, **kwargs)
def __call__(self, *args, **kwargs): return traverse(self.other, self.path)(*args, **kwargs)
def getattr(self, attr): """ Find the attribute referred to by 'attr', and return it. """ return traverse(self, attr)
def proxied(self): return traverse(self.other, self.path)
def getattr(self, attr): """ Find the attribute referred to by 'attr', and return it. """ return traverse(self, attr)
def proxied(self): return traverse (self.other, self.path)