diff options
Diffstat (limited to 'src/EventManager.py')
| -rw-r--r-- | src/EventManager.py | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/EventManager.py b/src/EventManager.py index b8a5ecfb..720fe0a1 100644 --- a/src/EventManager.py +++ b/src/EventManager.py @@ -1,4 +1,5 @@ import itertools, time, traceback +from src import Utils PRIORITY_URGENT = 0 PRIORITY_HIGH = 1 @@ -29,9 +30,15 @@ class EventCallback(object): self.function = function self.priority = priority self.kwargs = kwargs + self.docstring = Utils.parse_docstring(function.__doc__) + def call(self, event): return self.function(event) + def get_kwarg(self, name, default=None): + item = self.kwargs.get(name, default) + return item or self.docstring.items.get(name, default) + class MultipleEventHook(object): def __init__(self): self._event_hooks = set([]) |
