comparison python/fireonce.py @ 164:8006938c33ac

add fireonce decorator example
author Jeff Hammel <jhammel@mozilla.com>
date Mon, 22 Aug 2011 13:38:28 -0700
parents
children
comparison
equal deleted inserted replaced
163:eb0049718001 164:8006938c33ac
1 class fireonce(object):
2 def __init__(self, func):
3 self.func = func
4 def __call__(self, *args, **kwargs):
5 if not self.func:
6 return None
7 retval = self.func(*args, **kwargs)
8 self.func = None
9
10 @fireonce
11 def foo(x):
12 print x
13
14 foo('bar')
15 foo('fleem') # not printed