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第三方库


热门话题
java数据不显示在FXML表中   java如何使整个JTable不可编辑   Java中的swing JTree JTable组合   Windows下的java诊断NIO DatagramChannel读取问题   java Dockerfile运行可执行文件   java手动初始化字节数组以测试更改   java Selenium Webdriver | DragAndDrop功能|也不例外,但代码不起作用   java Hibernate使用多对多关系和左连接多次加载同一实体?   java正在努力开发带有接口和泛型集的API   mongodb mongo java条件和如果不为null   Java程序不显示使用arduino ethernet shield在网页上发送的数据   java将JSONObject转换为JSONArray错误   java Box布局可以接受包含元素的大小吗?