简单蟒蛇事件信号

smokesignal的Python项目详细描述


#SmokeSignal-简单的python信令

[![构建状态](https://travis ci.org/shaunduncan/smokesignal.png)(https://travis ci.org/shaunduncan/smokesignal)

`smokesignal`是一个简单的python库,用于发送和接收信号。
它从django信号框架中获得了一些灵感,但它是一个通用的变体。



`包括使用"on"注册单个可响应信号的调用,并使用"emit"发送信号。


此方法还接受一个可选参数"max_calls",该参数
指示回调响应发出信号的最大次数:

``python

@smokesignal.on('foo')
def my_callback():
pass

@smokesignal.on('foo',max_ calls=2)
def my_callback():
pass

`````

esignal

@smokesignal.once('foo')
def my_u callback():
pass
`````

`````发送信号

使用"emit"将信号发送到所有注册的回调。此方法可选地接受直接传递给每个回调的
参数和关键字参数列表:

``python
import smokesignal

参数smokesignal.emit('foo',1,2,3,four=4)
````

默认情况下,此上下文
manager接受一个参数,该参数是上下文管理器退出后发送的信号。但是,
您可以为"enter"和"exit"提供关键字参数,这些参数将在
上下文管理器的以下位置发送:

``python
import smokesignal

在带有SmokeSignal.emission(enter='foo',exit='bar')的退出时提交:
通过
`````

ect`如果您打算删除所有这些函数:

``python
import smokesignal

myu回调将不再响应signals
smokesignal.disconnect(myu回调)

myu回调将不再响应foo,但可能会向其他方发送smokesignal.disconnecty_callback,"foo")
```

对于特定的信号
smokesignal.clear('foo')

某种信号。"signals"和"response"可用于此目的。请注意,注册回调以响应
信号还将创建回调的可调用属性,以便于交互
wi这些方法:

``python
``python
``获取回调响应
smokesignsignal.signals(我的回调函数)的所有信号的元组

`;检查回调是否响应信号
smokesignsignal.signals(我的回调函数‘foo’)

`
``或者作为回调函数的属性
`
``python
`;获取回调响应

` `
乙r/>
但是,
这不起作用,因为在注册回调
以响应信号时不知道类实例:

``python
import smokesignal


如果希望实例方法响应回调,则re是一个解决方法:

`` python
导入smokesignal

foo类(对象):
def初始(self,*args,**kwargs):
smokesignal.on('bar,self.callback)
super(foo,self)。\uu初始(args,**kwargs)

def回调(self):
通过
```

上述操作将注册回调,而不需要任何参数,但也将
确保正确调用预期的回调方法。




对于所有信号



<<<0.2

-添加了"Ememitting ` Emitting `上下文管理器
-更新的内部不再需要装饰魔法来强制最大呼叫计数


<0.1
-初始版本








-初始版本
















根据条款授权是麻省理工学院的执照。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java使用Eclipse Helios for Web项目   java指定行。作为编译器设置的分隔符?   osm映射中带有osmdroid的java标记   java Android ClassNotFoundException在路径:DexPathList上未找到类   java从j2me调用GWT方法   更新到java 8后的aspectj问题   如何仅从根元素java,com提取文本内容。滴虫软件。是的。html   安卓公司。谷歌。火基。数据库DatabaseException:未能转换java类型的值。将字符串改为长字符串   从java中的方法返回arraylist变量   java如果将引用重新分配给同步块内的锁对象,会是什么?   java下载。使用spring mvc的资源文件中的xlsx文件   java Eclipse提供了什么工具来运行Eclipse中未包含的程序?   spring boot Java泛型如何读取传递给泛型方法的类型上的字段或调用方法   Javacard中的javaecdsa签名