Ejemplo n.º 1
0
    def get(self):

        parser = get_request_parser()

        parser.add_argument('owner', type=str,)
        parser.add_argument('project_id', type=int)
        parser.add_argument('build_id', type=int)
        parser.add_argument('group', type=str)

        parser.add_argument('limit', type=int)
        parser.add_argument('offset', type=int)

        parser.add_argument(
            'state', type=str, choices=self.state_choices,
            help=u"allowed states: {}".format(" ".join(self.state_choices)))

        req_args = parser.parse_args()

        self_params = dict(req_args)

        query = BuildChrootsLogic.get_multiply()
        if self_params.get("build_id") is not None:
            query = BuildChrootsLogic.filter_by_build_id(
                query, self_params["build_id"])
        elif self_params.get("project_id") is not None:
            query = BuildChrootsLogic.filter_by_project_id(
                query, self_params["project_id"])
        elif self_params.get("owner") is not None:
            query = BuildChrootsLogic.filter_by_project_user_name(
                query, self_params["owner"])
        elif self_params.get("group") is not None:
            query = BuildChrootsLogic.filter_by_group_name(query, req_args["group"])

        state = self_params.get("state")
        if state:
            query = BuildChrootsLogic.filter_by_state(query, state)

        if req_args["limit"] is not None:
            limit = req_args["limit"]
            if limit <= 0 or limit > 100:
                limit = 100
        else:
            limit = 100
        self_params["limit"] = limit
        query = query.limit(limit)

        if "offset" in self_params is not None:
            query = query.offset(self_params["offset"])

        build_chroots = query.all()
        return {
            "build_tasks": [
                render_build_task(chroot)
                for chroot in build_chroots
            ],
            "_links": {
                "self": {"href": url_for(".buildtasklistr", **self_params)}
            }
        }
Ejemplo n.º 2
0
    def get(self):

        parser = get_request_parser()

        parser.add_argument('owner', type=str,)
        parser.add_argument('project_id', type=int)
        parser.add_argument('build_id', type=int)
        parser.add_argument('group', type=str)

        parser.add_argument('limit', type=int)
        parser.add_argument('offset', type=int)

        parser.add_argument(
            'state', type=str, choices=self.state_choices,
            help=u"allowed states: {}".format(" ".join(self.state_choices)))

        req_args = parser.parse_args()

        self_params = dict(req_args)

        query = BuildChrootsLogic.get_multiply()
        if self_params.get("build_id") is not None:
            query = BuildChrootsLogic.filter_by_build_id(
                query, self_params["build_id"])
        elif self_params.get("project_id") is not None:
            query = BuildChrootsLogic.filter_by_project_id(
                query, self_params["project_id"])
        elif self_params.get("owner") is not None:
            query = BuildChrootsLogic.filter_by_project_user_name(
                query, self_params["owner"])
        elif self_params.get("group") is not None:
            query = BuildChrootsLogic.filter_by_group_name(query, req_args["group"])

        state = self_params.get("state")
        if state:
            query = BuildChrootsLogic.filter_by_state(query, state)

        if req_args["limit"] is not None:
            limit = req_args["limit"]
            if limit <= 0 or limit > 100:
                limit = 100
        else:
            limit = 100
        self_params["limit"] = limit
        query = query.limit(limit)

        if "offset" in self_params is not None:
            query = query.offset(self_params["offset"])

        build_chroots = query.all()
        return {
            "build_tasks": [
                render_build_task(chroot)
                for chroot in build_chroots
            ],
            "_links": {
                "self": {"href": url_for(".buildtasklistr", **self_params)}
            }
        }
Ejemplo n.º 3
0
 def get(self, build_id, name):
     chroot = self._get_chroot_safe(build_id, name)
     return render_build_task(chroot)
Ejemplo n.º 4
0
 def get(self, build_id, name):
     chroot = self._get_chroot_safe(build_id, name)
     return render_build_task(chroot)