在业务事务dsl中定义用户情景
stories的Python项目详细描述
业务交易DSL
安装
所有发布的版本都托管在python包索引上。你可以 使用以下命令安装此包。
pip install stories
使用量
stories提供了一种定义复杂业务场景的简单方法 包括许多处理步骤。
fromstoriesimportstory,arguments,Success,Failure,ResultclassSubscribe:@story@arguments('category_id','user_id')defbuy(I):I.find_categoryI.find_profileI.check_balanceI.persist_subscriptionI.show_subscriptiondeffind_category(self,ctx):category=Category.objects.get(id=ctx.category_id)returnSuccess(category=category)deffind_profile(self,ctx):profile=Profile.objects.get(user_id=ctx.user_id)returnSuccess(profile=profile)defcheck_balance(self,ctx):ifctx.category.cost<ctx.profile.balance:returnSuccess()else:returnFailure()defpersist_subscription(self,ctx):subscription=Subscription(ctx.category,ctx.profile)subscription.save()returnSuccess(subscription=subscription)defshow_subscription(self,ctx):returnResult(ctx.subscription)
>>>Subscribe().buy(category_id=1,user_id=1)<Subscriptionobject>>>>_
这种代码样式允许您清楚地分离实际的业务场景 从实现细节。
许可证
Stories库是根据两条BSD许可证提供的。