Mercurial > magic
view Descriptors @ 244:eee52d5a4af8 default tip
created
| author | 127.0.0.1 |
|---|---|
| date | Sun, 30 Jun 2013 11:08:33 +0200 |
| parents | b75a4f07efa8 |
| children |
line wrap: on
line source
{{{#!python def __getattribute__(self, name): if name in self.__dict__: return self.__dict__[name] for cls in self.__class__.mro(): if name in cls.__dict__: attr = cls.__dict__[name] if hasattr(attr.__class__, '__get__'): return attr.__get__(self, cls) return attr return self.__getattr__(name) def set_attr(thing, name, value): if hasattr(thing.__class__, '__setattr__'): thing.__setattr__(name, value) return for cls in self.__class__.mro(): if (name in cls.__dict__ and hasattr(cls.__dict__[name].__class__, '__set__')): cls.__dict__[name].__set__(self, name, value) return self.__dict__[name] = value def del_attr(thing, name): if hasattr(thing.__class__, '__delattr__'): thing.__delattr__(name) return for cls in self.__class__.mro(): if (name in cls.__dict__ and hasattr(cls.__dict__[name].__class__, '__delete__')): cls.__dict__[name].__delete__(self, name) return del self.__dict__[name] }}}
