o (`·[ã@s,dZddlZdgZiZddd„Zdd„ZdS) aõClass-based event handlers A light-weight event-handler framework based on event classes. Handlers are registered for event classes: >>> import zope.event.classhandler >>> class MyEvent(object): ... def __repr__(self): ... return self.__class__.__name__ >>> def handler1(event): ... print("handler1 %r" % event) >>> zope.event.classhandler.handler(MyEvent, handler1) Descriptor syntax: >>> @zope.event.classhandler.handler(MyEvent) ... def handler2(event): ... print("handler2 %r" % event) >>> class MySubEvent(MyEvent): ... pass >>> @zope.event.classhandler.handler(MySubEvent) ... def handler3(event): ... print("handler3 %r" % event) Subscribers are called in class method-resolution order, so only new-style event classes are supported, and then by order of registry. >>> import zope.event >>> zope.event.notify(MySubEvent()) handler3 MySubEvent handler1 MySubEvent handler2 MySubEvent éNÚhandlerFcsT|dur ‡fdd„Ststjj t¡ˆtvr|gtˆ<ntˆ |¡|r(tSdS)z¯ Define an event handler for a (new-style) class. This can be called with a class and a handler, or with just a class and the result used as a handler decorator. Ncs tˆ|dƒS)NT)r)Úfunc©Ú event_class©ú9/usr/lib/python3/dist-packages/zope/event/classhandler.pyÚ:s zhandler..)ÚregistryÚzopeÚeventÚ subscribersÚappendÚdispatchr)rÚhandler_Ú _decoratorrrrr3s  ÿcCs,|jjD]}t |d¡D]}||ƒq qdS)Nr)Ú __class__Ú__mro__r Úget)r rrrrrrGs  ÿÿr)NF)Ú__doc__Ú zope.eventr Ú__all__r rrrrrrÚs*ÿ