1""" 2Top-level functionality related to message listeners. 3""" 4 5""" 6:copyright: Copyright since 2006 by Oliver Schoenborn, all rights reserved. 7:license: BSD, see LICENSE_BSD_Simple.txt for details. 8""" 9 10from .callables import ( 11 getID, 12 getArgs, 13 getRawFunction, 14 ListenerMismatchError, 15 CallArgsInfo 16) 17 18from .listenerimpl import ( 19 Listener, 20 ListenerValidator 21) 22 23class IListenerExcHandler: 24 """ 25 Interface class base class for any handler given to pub.setListenerExcHandler() 26 Such handler is called whenever a listener raises an exception during a 27 pub.sendMessage(). Example:: 28 29 from pubsub import pub 30 31 class MyHandler(pub.IListenerExcHandler): 32 def __call__(self, listenerID, topicObj): 33 ... do something with listenerID ... 34 35 pub.setListenerExcHandler(MyHandler()) 36 """ 37 def __call__(self, listenerID, topicObj): 38 raise NotImplementedError('%s must override __call__()' % self.__class__) 39 40 41