Mercurial > hg > config
comparison python/actions.py @ 256:f40a172512c6
more playing around
| author | Jeff Hammel <jhammel@mozilla.com> |
|---|---|
| date | Sun, 16 Dec 2012 22:51:18 -0800 |
| parents | 1f7325245dc8 |
| children | f4594857d606 |
comparison
equal
deleted
inserted
replaced
| 255:1f7325245dc8 | 256:f40a172512c6 |
|---|---|
| 3 class Actions(object): | 3 class Actions(object): |
| 4 | 4 |
| 5 def __init__(self): | 5 def __init__(self): |
| 6 self.functions = {} | 6 self.functions = {} |
| 7 | 7 |
| 8 def __call__(self, function): | 8 def __call__(self, function, *dependencies): |
| 9 import pdb; pdb.set_trace() | |
| 9 self.functions[function.func_name] = function | 10 self.functions[function.func_name] = function |
| 10 return function | 11 return function |
| 11 | 12 |
| 12 def do(self, func_name, *args, **kwargs): | 13 def do(self, func_name): |
| 13 pass | 14 self.functions[func_name]() |
| 14 | 15 |
| 15 action = Actions() | 16 action = Actions() |
| 16 | 17 |
| 17 @action | 18 @action |
| 18 def foo(): | 19 def foo(): |
| 19 print "hello" | 20 print "hello" |
| 20 | 21 |
| 21 @action | 22 @action('foo') |
| 22 def bar(): | 23 def bar(): |
| 23 print "goodbye" | 24 print "goodbye" |
| 24 | 25 |
| 25 if __name__ == '__main__': | 26 if __name__ == '__main__': |
| 26 pass | 27 pass |
| 28 | |
| 29 action.do('bar') |
