Mercurial > hg > config
annotate python/example/fireonce.py @ 929:7c4be71a560b default tip
remove old aliases
| author | Jeff Hammel <k0scist@gmail.com> | 
|---|---|
| date | Mon, 20 Oct 2025 15:22:19 -0700 | 
| parents | dbe9086643bf | 
| children | 
| rev | line source | 
|---|---|
| 164 
8006938c33ac
add fireonce decorator example
 Jeff Hammel <jhammel@mozilla.com> parents: diff
changeset | 1 class fireonce(object): | 
| 
8006938c33ac
add fireonce decorator example
 Jeff Hammel <jhammel@mozilla.com> parents: diff
changeset | 2 def __init__(self, func): | 
| 
8006938c33ac
add fireonce decorator example
 Jeff Hammel <jhammel@mozilla.com> parents: diff
changeset | 3 self.func = func | 
| 
8006938c33ac
add fireonce decorator example
 Jeff Hammel <jhammel@mozilla.com> parents: diff
changeset | 4 def __call__(self, *args, **kwargs): | 
| 
8006938c33ac
add fireonce decorator example
 Jeff Hammel <jhammel@mozilla.com> parents: diff
changeset | 5 if not self.func: | 
| 
8006938c33ac
add fireonce decorator example
 Jeff Hammel <jhammel@mozilla.com> parents: diff
changeset | 6 return None | 
| 
8006938c33ac
add fireonce decorator example
 Jeff Hammel <jhammel@mozilla.com> parents: diff
changeset | 7 retval = self.func(*args, **kwargs) | 
| 
8006938c33ac
add fireonce decorator example
 Jeff Hammel <jhammel@mozilla.com> parents: diff
changeset | 8 self.func = None | 
| 
8006938c33ac
add fireonce decorator example
 Jeff Hammel <jhammel@mozilla.com> parents: diff
changeset | 9 | 
| 
8006938c33ac
add fireonce decorator example
 Jeff Hammel <jhammel@mozilla.com> parents: diff
changeset | 10 @fireonce | 
| 
8006938c33ac
add fireonce decorator example
 Jeff Hammel <jhammel@mozilla.com> parents: diff
changeset | 11 def foo(x): | 
| 
8006938c33ac
add fireonce decorator example
 Jeff Hammel <jhammel@mozilla.com> parents: diff
changeset | 12 print x | 
| 
8006938c33ac
add fireonce decorator example
 Jeff Hammel <jhammel@mozilla.com> parents: diff
changeset | 13 | 
| 
8006938c33ac
add fireonce decorator example
 Jeff Hammel <jhammel@mozilla.com> parents: diff
changeset | 14 foo('bar') | 
| 
8006938c33ac
add fireonce decorator example
 Jeff Hammel <jhammel@mozilla.com> parents: diff
changeset | 15 foo('fleem') # not printed | 
