示例#1
0
文件: api.py 项目: abettadapur/Planr
class PlanRandomizeResource(Resource):
    def __init__(self):
        self.plan_repository = PlanRepository()

    @authenticate
    def post(self, id, **kwargs):
        user = kwargs['user']
        plan = query(self.plan_repository.get(user=user, id=id)
                     ).single_or_default(default=None)

        if plan is None:
            abort(404, message="No plan with that id was found")

        self.plan_repository.clear_plan(plan)
        populate_sample_plan(plan)
        result = self.plan_repository.add_or_update(plan)

        if not result.success:
            on_error(error_message="Could not randomize plan", result=result)

        self.plan_repository.save_changes()
        polyline = get_polyline(plan)
        plan_dict = plan.as_dict()
        plan_dict['polylines'] = polyline
        return plan_dict