g冒险rest api的python客户端

django-dispatcher的Python项目详细描述


#django dispatcher



逻辑引擎,用于确定要执行的事情的顺序



有时必须按顺序运行一系列事情。这是一种基于
配置的方法,可以实现这一点。




典型用法
--



1。创建一些过渡对象。它们基本上是接口,
需要定义一些方法和属性,并用
在适当的时间构建一些上下文来奖励您。


所需的函数/参数包括:
-最终状态(字符串)
-是否有效(函数返回布尔值)
-上下文(函数返回dict)

````

调度器导入转换



Class Cart2DayReminder(转换):


Final_State=Cart_2_Day_Reminder_Sent

Def OnlineBooking(self):
如果self.\OnlineBooking为none:
self.\OnlineBooking=OnlineBooking.objects.get(pk=self.resources['Online撸Booking'])
返回self.\u onlinebooking
u onlinebooking=none

@property
def profile(self):
如果self.\u profile为none:
self.\u profile=self.onlinebooking.user和self.onlinebooking.user.profile
return self.\u profile
u profile=none


self.onlinebooking.date\u updated<;(datetime.now()-timedelta(days=2)):
self.errors.append('预订是在两天前创建的')
return false


def build\u context(self):
return{
“预订id”:self.onlinebooking.id,
“电子邮件地址”:self.profile.email,
}




Cart1WeekReminder类(转换):



````

2。创建配置,列出可能发生的转换

```
dispatcher配置{
“链”:[
{
“链类型”:“废弃的购物车”,
“转换”:{
新的:[cart2dayminder,cart1weekreminder],
cart2dayminder.final状态:[cart1weekreminder,],
cart1weekreminder.final状态:[],
}
}
]
}

````



>3。使用上述设置初始化调度程序。你必须自己决定“链”类型。其名称必须与上述配置相同。我们包括“请求”,以跟踪请求从何处发出。




`````


Dispatcher=Dispatcher(
Chain\u type=”Disposed\u Cart“,
Chain\u configs=Dispatcher配置,
Requits\u by=”Cart\u放弃脚本“
})

````




4。提供查询资源以搜索链。链
将使用“and”语句进行查询,这意味着检索链时所有资源都必须
存在。

```


dispatcher.get\u或_create\u链([
('online\u booking','123456'),
('customer','57844')


```

<5。为链提供回调。如果链转换到新的
有效状态,则将发送您传递的任何回调。回调函数接受传入的转换和指定的任何回调参数。

```


def some_callback(transition,\**callback_args):
some magical




dispatcher.execute_chain(callback=some_callback,callback_args={})

```

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

推荐PyPI第三方库


热门话题
在IE10中重新加载另一个帧时,internet explorer Java小程序失败/消失   ThreadLocal变量的java性能   java系统。出来println不是打印输出   java从JAXB类获取元素属性   java组织。天啊。科尔巴。包裹。InvalidName:IDL:omg。org/CORBA/ORB/InvalidName:1.0   java有没有办法让非事务连接抛出异常?   java是否有任何方法可以使用JdbcTemplate和查询/条件Fluent API   javajpa级联类型。刷新不工作?   未考虑java Maven依赖关系管理   java MySQL MBR包含抛出MySQLExceptionError的语句   java验证整数并将其设为5位数   java发现了循环依赖的问题   java Hibernate left join fetch到使用@ManyToMany关联映射的softdeleted实体生成无效查询?   JavaH:commandButton多个操作:下载文件并呈现ajax表   Google Contacts API在Java、C#、Python或Ruby中是否有一个Hello World示例?