Mercurial > hg > config
changeset 164:8006938c33ac
add fireonce decorator example
author | Jeff Hammel <jhammel@mozilla.com> |
---|---|
date | Mon, 22 Aug 2011 13:38:28 -0700 |
parents | eb0049718001 |
children | 2269e680a0be |
files | python/fireonce.py |
diffstat | 1 files changed, 15 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/python/fireonce.py Mon Aug 22 13:38:28 2011 -0700 @@ -0,0 +1,15 @@ +class fireonce(object): + def __init__(self, func): + self.func = func + def __call__(self, *args, **kwargs): + if not self.func: + return None + retval = self.func(*args, **kwargs) + self.func = None + +@fireonce +def foo(x): + print x + +foo('bar') +foo('fleem') # not printed