Beispiel #1
0
    def is_route_finished(route_id):
        assert isinstance(route_id, ObjectId)
        assert RouteHelper.get(route_id)

        route = RouteHelper.get(route_id)
        entered_route = RouteHelper.get_entered_route(route_id)

        if not entered_route:
            return False

        return entered_route.percentage == 100
Beispiel #2
0
    def is_attach_finished(route_id, attach_id):
        assert isinstance(route_id, ObjectId)
        assert isinstance(attach_id, ObjectId)
        assert AttachmentHelper.get(attach_id)
        assert RouteHelper.get(route_id)

        route = RouteHelper.get(route_id)
        entered_route = RouteHelper.get_entered_route(route_id)

        if not entered_route:
            return False

        return attach_id in entered_route.attach_complete
Beispiel #3
0
    def finish_attach(route_id, attach_id):
        assert isinstance(route_id, ObjectId)
        assert isinstance(attach_id, ObjectId)
        assert AttachmentHelper.get(attach_id)
        assert RouteHelper.get(route_id)

        route = RouteHelper.get(route_id)
        entered_route = RouteHelper.get_entered_route(route_id)
        assert entered_route
        if attach_id in route.attached and attach_id not in entered_route.attach_complete:
            entered_route.attach_complete.append(attach_id)

        entered_route.percentage = len(entered_route.attach_complete) / float(route.n_attachment) * 100

        entered_route.save()
Beispiel #4
0
    def get_user_routes(finished):
        assert isinstance(finished, bool)

        if finished:
            entered_routes = list(EnteredRoute.objects(Q(user=current_user.id) & Q(percentage=100)))
        else:
            entered_routes = list(EnteredRoute.objects(Q(user=current_user.id) & Q(percentage__ne=100)))

        routes = []
        for entered in entered_routes:
            routes.append(RouteHelper.get(entered.route))

        if not finished:
            for route in routes:
                route.percentage = RouteHelper.get_entered_route(route.id).percentage

        return routes