def copr_build_package(copr, package_name): form = forms.BuildFormRebuildFactory.create_form_cls( copr.active_chroots)(meta={ 'csrf': False }) try: package = PackagesLogic.get(copr.main_dir.id, package_name)[0] except IndexError: raise LegacyApiError( "No package with name {name} in copr {copr}".format( name=package_name, copr=copr.name)) if form.validate_on_submit(): try: build = PackagesLogic.build_package(flask.g.user, copr, package, form.selected_chroots, **form.data) db.session.commit() except (InsufficientRightsException, ActionInProgressException, NoPackageSourceException) as e: raise LegacyApiError(str(e)) else: raise LegacyApiError(form.errors) return flask.jsonify({ "output": "ok", "ids": [build.id], "message": "Build was added to {0}.".format(copr.name) })
def package_build(): copr = get_copr() data = rename_fields(get_form_compatible_data(preserve=["python_versions"])) form = forms.RebuildPackageFactory.create_form_cls(copr.active_chroots)(data, meta={'csrf': False}) try: package = PackagesLogic.get(copr.main_dir.id, form.package_name.data)[0] except IndexError: raise ObjectNotFound("No package with name {name} in copr {copr}" .format(name=form.package_name.data, copr=copr.name)) if form.validate_on_submit(): buildopts = {k: v for k, v in form.data.items() if k in data} build = PackagesLogic.build_package(flask.g.user, copr, package, form.selected_chroots, copr_dirname=form.project_dirname.data, **buildopts) db.session.commit() else: raise BadRequest(form.errors) return flask.jsonify(build_to_dict(build))
def copr_build_package(copr, package_name): form = forms.BuildFormRebuildFactory.create_form_cls(copr.active_chroots)(csrf_enabled=False) try: package = PackagesLogic.get(copr.id, package_name)[0] except IndexError: raise LegacyApiError("No package with name {name} in copr {copr}".format(name=package_name, copr=copr.name)) if form.validate_on_submit(): try: build = PackagesLogic.build_package(flask.g.user, copr, package, form.selected_chroots, **form.data) db.session.commit() except (InsufficientRightsException, ActionInProgressException, NoPackageSourceException) as e: raise LegacyApiError(str(e)) else: raise LegacyApiError(form.errors) return flask.jsonify({ "output": "ok", "ids": [build.id], "message": "Build was added to {0}.".format(copr.name) })