From 181de573c0299e94d88d780b9c743a23bf2f51e6 Mon Sep 17 00:00:00 2001 From: Antoine Nguyen Date: Tue, 22 May 2012 14:52:31 +0200 Subject: [PATCH] Better behaviour against user-defined extensions. see #197 --- lib/events.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/events.py b/lib/events.py index c4d0a4c28..1c282b8ac 100644 --- a/lib/events.py +++ b/lib/events.py @@ -91,8 +91,10 @@ class observe(object): :param evtname: the event's name """ - def __init__(self, *evtnames): + def __init__(self, *evtnames, **kwargs): self.evtnames = evtnames + if kwargs.has_key("extname"): + self.extname = kwargs["extname"] def __guess_extension_name(self, modname): if modname.startswith('modoboa.extensions'): @@ -103,7 +105,7 @@ class observe(object): def __call__(self, f): modname = inspect.getmodule(inspect.stack()[1][0]).__name__ - extname = self.__guess_extension_name(modname) + extname = self.extname if hasattr(self, "extname") else self.__guess_extension_name(modname) @wraps(f) def wrapped_f(*args): if extname: