diff python/example/fireonce.py @ 524:dbe9086643bf

-> example
author Jeff Hammel <jhammel@mozilla.com>
date Tue, 24 Sep 2013 12:29:59 -0700
parents python/fireonce.py@8006938c33ac
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/python/example/fireonce.py	Tue Sep 24 12:29:59 2013 -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