Fast, simple object-to-object and broadcast signaling
Downloads ↓
Blinker provides a fast dispatching system that allows any number of
interested parties to subscribe to events, or "signals".
Signal receivers can subscribe to specific senders or receive signals
sent by any sender.
>>> from blinker import signal >>> started = signal('round-started') >>> def each(round): ... print "Round %s!" % round ... >>> started.connect(each)>>> def round_two(round): ... print "This is round two." ... >>> started.connect(round_two, sender=2)>>> for round in range(1, 4): ... started.send(round) ... Round 1! Round 2! This is round two. Round 3!
Requirements
Blinker requires Python 2.4 or higher, Python 3.0 or higher, or Jython 2.5 or higher.
Changelog Summary
- 1.2 (October 26, 2011)
-
- Added Signal.receiver_connected and
Signal.receiver_disconnected per-Signal signals. - Deprecated the global 'receiver_connected' signal.
- Verified Python 3.2 support (no changes needed!)
- Added Signal.receiver_connected and
- 1.1 (July 21, 2010)
-
- Added @signal.connect_via(sender) decorator
- Added signal.connected_to shorthand name for the
temporarily_connected_to context manager.
- 1.0 (March 28, 2010)
-
- Python 3.x compatibility
- 0.9 (February 26, 2010)
-
- Sphinx docs, project website
- Added with a_signal.temporarily_connected_to(receiver): ... support
>>> from blinker import signal >>> started = signal('round-started') >>> def each(round): ... print "Round %s!" % round ... >>> started.connect(each)
>>> def round_two(round): ... print "This is round two." ... >>> started.connect(round_two, sender=2)
>>> for round in range(1, 4): ... started.send(round) ... Round 1! Round 2! This is round two. Round 3!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)