Welcome to mirror list, hosted at ThFree Co, Russian Federation.

dev.gajim.org/gajim/gajim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYann Leboulanger <asterix@lagaule.org>2012-04-08 19:53:53 +0400
committerYann Leboulanger <asterix@lagaule.org>2012-04-08 19:53:53 +0400
commit51cfe177a122ab51ecebcb84d922b5096b85cc4e (patch)
tree6f5fc3d9a5a77dc5980a367bbd86219fe212c5be
parentaaa36ea7a3893d16e036834f54f13553b6f8ce79 (diff)
ability for a plugin to raise NodeProcessed
-rw-r--r--src/common/ged.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/common/ged.py b/src/common/ged.py
index 72920f05e..0d8766c1f 100644
--- a/src/common/ged.py
+++ b/src/common/ged.py
@@ -27,6 +27,7 @@ Global Events Dispatcher module.
import traceback
+from common.xmpp import NodeProcessed
import logging
log = logging.getLogger('gajim.c.ged')
@@ -86,11 +87,16 @@ class GlobalEventsDispatcher(object):
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