1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
# from Pyramid class reify(object): """Put the result of a method which uses this (non-data) descriptor decorator in the instance dict after the first call, effectively replacing the decorator with an instance variable. """ def __init__(self, wrapped): self.wrapped = wrapped self.__doc__ = wrapped.__doc__ def __get__(self, inst, objtype=None): if inst is None: return self val = self.wrapped(inst) setattr(inst, self.wrapped.__name__, val) return val |