Mercurial > piecrust2
view piecrust/decorators.py @ 0:a212a3f2e3ee
Initial commit.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Sat, 21 Dec 2013 14:44:02 -0800 |
parents | |
children |
line wrap: on
line source
import functools def lazy(f): @functools.wraps(f) def lazy_wrapper(*args, **kwargs): if f.__lazyresult__ is None: f.__lazyresult__ = f(*args, **kwargs) return f.__lazyresult__ f.__lazyresult__ = None return lazy_wrapper def lazy_property(f): return property(lazy(f))