简明发布/订阅实用程序
smoke的Python项目详细描述
一个简洁的发布/订阅实用程序模块。它支持两种自由形式的信号 名字和一种更严格的方式,信号首先声明。你也可以混合 他们。
用法
importsmokeclassMyCls(smoke.Broker):appears=smoke.signal('appears')leaves=smoke.signal('leaves')defsay_hello(what):print("hello %s"%(what,))defsay_goodbye(what):print("good bye %s"%(what,))# Using brokero=MyCls()o.subscribe("appears",say_hello)o.publish("appears",what='world')# Using declared signalso=MyCls()o.leaves.subscribe(say_goodbye)o.leaves.publish(what='world')# Mixingo=MyCls()o.subscribe("appears",say_hello)o.appears.publish()