morepath中的pymitter集成

more.emit的Python项目详细描述


more.emit:morepath中的pymitter集成

此包为pymitter提供了更多路径集成。

pymitter是扩展节点的python端口。jsEventEmitter 2 提供名称空间、通配符和ttl的方法。

快速启动

安装more.emit

$ pip install -U more.emit

从emitapp扩展应用程序类:

frommore.ponyimportEmitAppclassApp(EmitApp):pass

现在您可以定义信号:

from.appimportApp@App.signal.on('myevent')defhandler1(arg,request):print(request)print('handler1 called with',arg)@App.signal.on('myevent')defhandler2(arg,request):print('handler2 called with',arg)

例如,您可以从视图发出信号:

@App.json(model=Root)defroot_view(self,request):request.app.signal.emit('myevent','foo',request)return{'name':'Root'}

示例

用户创建时发射信号的示例 以及发送确认电子邮件的用户更新。 本例使用more.pony

signal.py

from.appimportApp@App.signal.on('user.email_updated')defsend_confirmation_email(user,request):mailer=request.app.service(name='mailer')mailer.send_confirmation_email(user,request)

view.py

@App.json(model=UserCollection,request_method='POST')defuser_collection_add(self,request):email=request.json['email']ifnotUser.exists(email=email):user=self.add(email=email)@request.afterdefafter(response):request.app.signal.emit('user.email_updated',user,request)response.status=201else:@request.afterdefafter(response):response.status=409return{'validationError':'Email already exists'}@App.json(model=User,request_method='PUT')defuser_update(self,request):if'email'inrequest.jsonandUser.exists(email=request.json['email']):@request.afterdefafter(response):response.status=409return{'validationError':'Email already exists'}else:self.update(request.json)if'email'inrequest.json:self.email_confirmed=False@request.afterdefafter(response):request.app.signal.emit('user.email_updated',self,request)

更改

0.1(2017-04-22)

  • 首次公开发行。

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

推荐PyPI第三方库


热门话题
如何使用SeleniumWebDriver捕获特定元素的屏幕截图而不是整个页面?   WAS 8.5中的java JAXWS异步IO异常   java Android Studio无法解析数组适配器中的符号项   swing Java在运行时添加和删除按钮   java Spring Boot 2.0。x禁用特定配置文件的安全性   java这是我的最后一个代码,我在“if(Users[B].substring(0,1)==“1”){//Find String Cut Char Function”上遇到错误   单击菜单选项后打开“活动”时发生java错误   java Tic Tac Toe NullPointerException   java如何做数学题。随机进入for循环   java Http状态404错误处理spring mvc   java循环依赖双向@OneToMany JPA关系   java我可以在不重新启动项目的情况下添加servlet吗   java在蓝色/绿色部署中如何管理共享数据库?   这是一个系统。currentTimeMillis()是Java中时间性能的最佳度量?