1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
#! /usr/bin/env python
from __future__ import print_function
from pydispatch import dispatcher
SIGNAL = 'my-first-signal'
SIGNAL2 = 'my-second-signal'
def handle_event( sender ):
"""Simple event handler"""
print('Signal was sent by', sender)
dispatcher.connect( handle_event, signal=SIGNAL, sender=dispatcher.Any )
def handle_specific_event( sender, moo ):
"""Handle a simple event, requiring a "moo" parameter"""
print('Specialized event for %(sender)s moo=%(moo)r'%locals())
dispatcher.connect( handle_specific_event, signal=SIGNAL2, sender=dispatcher.Any )
first_sender = object()
second_sender = {}
def main( ):
dispatcher.send( signal=SIGNAL, sender=first_sender )
dispatcher.send( signal=SIGNAL, sender=second_sender )
dispatcher.send( signal=SIGNAL2, sender=second_sender, moo='this' )
if __name__ == "__main__":
main()
|