changeset c73e2b65a8e2 in /home/hg/repos/gajim
details:http://hg.gajim.org/gajim?cmd=changeset;node=c73e2b65a8e2 description: ability for a plugin to raise NodeProcessed
diffstat:
src/common/ged.py | 6 ++++++ 1 files changed, 6 insertions(+), 0 deletions(-)
diffs (28 lines):
diff -r b2ad41ec5d73 -r c73e2b65a8e2 src/common/ged.py --- a/src/common/ged.py Sun Apr 08 17:32:45 2012 +0200 +++ b/src/common/ged.py Sun Apr 08 17:53:53 2012 +0200 @@ -27,6 +27,7 @@
import traceback
+from common.xmpp import NodeProcessed import logging log = logging.getLogger('gajim.c.ged')
@@ -86,11 +87,16 @@ def raise_event(self, event_name, *args, **kwargs): log.debug('%s\nArgs: %s'%(event_name, str(args))) if event_name in self.handlers: + node_processed = False for priority, handler in self.handlers[event_name]: try: if handler(*args, **kwargs): return True + except NodeProcessed: + node_processed = True except Exception, e: log.error('Error while running an even handler: %s' % \ handler) traceback.print_exc() + if node_processed: + raise NodeProcessed