コード例 #1
0
ファイル: releases.py プロジェクト: garbas/balrog
    def _post(self, changed_by, transaction):
        form = CompleteReleaseForm()
        if not form.validate():
            self.log.warning("Bad input: %s", form.errors)
            return Response(status=400, response=json.dumps(form.errors))

        try:
            blob = createBlob(form.blob.data)
            name = dbo.releases.addRelease(
                name=form.name.data, product=form.product.data,
                blob=blob,
                changed_by=changed_by, transaction=transaction
            )
        except BlobValidationError as e:
            msg = "Couldn't update release: %s" % e
            self.log.warning("Bad input: %s", msg)
            return Response(status=400, response=json.dumps({"data": e.errors}))
        except ValueError as e:
            msg = "Couldn't update release: %s" % e
            self.log.warning("Bad input: %s", msg)
            return Response(status=400, response=json.dumps({"data": e.args}))

        release = dbo.releases.getReleases(
            name=name, transaction=transaction, limit=1
        )[0]
        new_data_version = release['data_version']
        response = make_response(
            json.dumps(dict(new_data_version=new_data_version)),
            201
        )
        response.headers['Content-Type'] = 'application/json'
        return response
コード例 #2
0
    def _post(self, changed_by, transaction):
        form = CompleteReleaseForm()
        if not form.validate():
            self.log.warning("Bad input: %s", form.errors)
            return Response(status=400, response=json.dumps(form.errors))

        try:
            blob = createBlob(form.blob.data)
            name = dbo.releases.insert(changed_by=changed_by,
                                       transaction=transaction,
                                       name=form.name.data,
                                       product=form.product.data,
                                       data=blob)
        except BlobValidationError as e:
            msg = "Couldn't update release: %s" % e
            self.log.warning("Bad input: %s", msg)
            return Response(status=400,
                            response=json.dumps({"data": e.errors}))
        except ValueError as e:
            msg = "Couldn't update release: %s" % e
            self.log.warning("Bad input: %s", msg)
            return Response(status=400, response=json.dumps({"data": e.args}))

        release = dbo.releases.getReleases(name=name,
                                           transaction=transaction,
                                           limit=1)[0]
        return Response(status=201,
                        response=json.dumps(
                            dict(new_data_version=release["data_version"])))
コード例 #3
0
ファイル: releases.py プロジェクト: rwood-moz/balrog
    def _put(self, release, changed_by, transaction):
        form = CompleteReleaseForm()
        if not form.validate():
            cef_event("Bad input", CEF_WARN, errors=form.errors)
            return Response(status=400, response=form.errors)

        blob = createBlob(form.blob.data)
        if dbo.releases.getReleases(name=release, limit=1):
            data_version = form.data_version.data
            try:
                dbo.releases.updateRelease(name=release, blob=blob, version=form.version.data,
                                           product=form.product.data, changed_by=changed_by,
                                           old_data_version=data_version, transaction=transaction)
            except ValueError as e:
                msg = "Couldn't update release: %s" % e
                cef_event("Bad input", CEF_WARN, errors=msg)
                return Response(status=400, response=msg)
            data_version += 1
            return Response(json.dumps(dict(new_data_version=data_version)), status=200)
        else:
            try:
                dbo.releases.addRelease(name=release, product=form.product.data,
                                        version=form.version.data, blob=blob,
                                        changed_by=changed_by, transaction=transaction)
            except ValueError as e:
                msg = "Couldn't update release: %s" % e
                cef_event("Bad input", CEF_WARN, errors=msg)
                return Response(status=400, response=msg)
            return Response(status=201)
コード例 #4
0
    def _post(self, changed_by, transaction):
        form = CompleteReleaseForm()
        if not form.validate():
            self.log.warning("Bad input: %s", form.errors)
            return Response(status=400, response=json.dumps(form.errors))

        try:
            blob = createBlob(form.blob.data)
            name = dbo.releases.addRelease(name=form.name.data,
                                           product=form.product.data,
                                           blob=blob,
                                           changed_by=changed_by,
                                           transaction=transaction)
        except BlobValidationError as e:
            msg = "Couldn't update release: %s" % e
            self.log.warning("Bad input: %s", msg)
            return Response(status=400,
                            response=json.dumps({"data": e.errors}))
        except ValueError as e:
            msg = "Couldn't update release: %s" % e
            self.log.warning("Bad input: %s", msg)
            return Response(status=400, response=json.dumps({"data": e.args}))

        release = dbo.releases.getReleases(name=name,
                                           transaction=transaction,
                                           limit=1)[0]
        new_data_version = release['data_version']
        response = make_response(
            json.dumps(dict(new_data_version=new_data_version)), 201)
        response.headers['Content-Type'] = 'application/json'
        return response
コード例 #5
0
    def _put(self, release, changed_by, transaction):
        form = CompleteReleaseForm()
        if not form.validate():
            self.log.warning("Bad input: %s", form.errors)
            return Response(status=400, response=json.dumps(form.errors))

        blob = createBlob(form.blob.data)
        if dbo.releases.getReleases(name=release, limit=1):
            data_version = form.data_version.data
            try:
                dbo.releases.update(where={"name": release},
                                    what={
                                        "data": blob,
                                        "product": form.product.data
                                    },
                                    changed_by=changed_by,
                                    old_data_version=data_version,
                                    transaction=transaction)
            except BlobValidationError as e:
                msg = "Couldn't update release: %s" % e
                self.log.warning("Bad input: %s", msg)
                return Response(status=400,
                                response=json.dumps({"data": e.errors}))
            except ReadOnlyError as e:
                msg = "Couldn't update release: %s" % e
                self.log.warning("Bad input: %s", msg)
                return Response(status=403,
                                response=json.dumps({"data": e.args}))
            except ValueError as e:
                msg = "Couldn't update release: %s" % e
                self.log.warning("Bad input: %s", msg)
                return Response(status=400,
                                response=json.dumps({"data": e.args}))
            # the data_version might jump by more than 1 if outdated blobs are
            # merged
            data_version = dbo.releases.getReleases(
                name=release, transaction=transaction)[0]['data_version']
            return jsonify(new_data_version=data_version)
        else:
            try:
                dbo.releases.insert(changed_by=changed_by,
                                    transaction=transaction,
                                    name=release,
                                    product=form.product.data,
                                    data=blob)
            except BlobValidationError as e:
                msg = "Couldn't update release: %s" % e
                self.log.warning("Bad input: %s", msg)
                return Response(status=400,
                                response=json.dumps({"data": e.errors}))
            except ValueError as e:
                msg = "Couldn't update release: %s" % e
                self.log.warning("Bad input: %s", msg)
                return Response(status=400,
                                response=json.dumps({"data": e.args}))
            return Response(status=201)
コード例 #6
0
ファイル: releases.py プロジェクト: aybuke/balrog
    def _put(self, release, changed_by, transaction):
        form = CompleteReleaseForm()
        if not form.validate():
            cef_event("Bad input", CEF_WARN, errors=form.errors)
            return Response(status=400, response=json.dumps(form.errors))

        blob = createBlob(form.blob.data)
        if dbo.releases.getReleases(name=release, limit=1):
            data_version = form.data_version.data
            try:
                dbo.releases.updateRelease(name=release,
                                           blob=blob,
                                           product=form.product.data,
                                           changed_by=changed_by,
                                           old_data_version=data_version,
                                           transaction=transaction)
            except BlobValidationError as e:
                msg = "Couldn't update release: %s" % e
                cef_event("Bad input", CEF_WARN, errors=msg)
                return Response(status=400,
                                response=json.dumps({"data": e.errors}))
            except ValueError as e:
                msg = "Couldn't update release: %s" % e
                cef_event("Bad input", CEF_WARN, errors=msg)
                return Response(status=400,
                                response=json.dumps({"data": e.args}))
            data_version += 1
            return Response(json.dumps(dict(new_data_version=data_version)),
                            status=200)
        else:
            try:
                dbo.releases.addRelease(name=release,
                                        product=form.product.data,
                                        blob=blob,
                                        changed_by=changed_by,
                                        transaction=transaction)
            except BlobValidationError as e:
                msg = "Couldn't update release: %s" % e
                cef_event("Bad input", CEF_WARN, errors=msg)
                return Response(status=400,
                                response=json.dumps({"data": e.errors}))
            except ValueError as e:
                msg = "Couldn't update release: %s" % e
                cef_event("Bad input", CEF_WARN, errors=msg)
                return Response(status=400,
                                response=json.dumps({"data": e.args}))
            return Response(status=201)
コード例 #7
0
ファイル: releases.py プロジェクト: andreja-cliqz/balrog
    def _post(self, changed_by, transaction):
        form = CompleteReleaseForm()
        if not form.validate():
            cef_event("Bad input", CEF_WARN, errors=form.errors)
            return Response(status=400, response=json.dumps(form.errors))

        try:
            blob = createBlob(form.blob.data)
            name = dbo.releases.addRelease(
                name=form.name.data, product=form.product.data,
                version=form.version.data, blob=blob,
                changed_by=changed_by, transaction=transaction
            )
        except ValueError, e:
            msg = "Couldn't update release: %s" % e
            cef_event("Bad input", CEF_WARN, errors=msg)
            return Response(status=400, response=msg)
コード例 #8
0
ファイル: releases.py プロジェクト: garbas/balrog
    def _put(self, release, changed_by, transaction):
        form = CompleteReleaseForm()
        if not form.validate():
            self.log.warning("Bad input: %s", form.errors)
            return Response(status=400, response=json.dumps(form.errors))

        blob = createBlob(form.blob.data)
        if dbo.releases.getReleases(name=release, limit=1):
            data_version = form.data_version.data
            try:
                dbo.releases.updateRelease(name=release, blob=blob,
                                           product=form.product.data, changed_by=changed_by,
                                           old_data_version=data_version, transaction=transaction)
            except BlobValidationError as e:
                msg = "Couldn't update release: %s" % e
                self.log.warning("Bad input: %s", msg)
                return Response(status=400, response=json.dumps({"data": e.errors}))
            except ReadOnlyError as e:
                msg = "Couldn't update release: %s" % e
                self.log.warning("Bad input: %s", msg)
                return Response(status=403, response=json.dumps({"data": e.args}))
            except ValueError as e:
                msg = "Couldn't update release: %s" % e
                self.log.warning("Bad input: %s", msg)
                return Response(status=400, response=json.dumps({"data": e.args}))
            # the data_version might jump by more than 1 if outdated blobs are
            # merged
            data_version = dbo.releases.getReleases(name=release, transaction=transaction)[0]['data_version']
            return Response(json.dumps(dict(new_data_version=data_version)), status=200)
        else:
            try:
                dbo.releases.addRelease(name=release, product=form.product.data,
                                        blob=blob,
                                        changed_by=changed_by, transaction=transaction)
            except BlobValidationError as e:
                msg = "Couldn't update release: %s" % e
                self.log.warning("Bad input: %s", msg)
                return Response(status=400, response=json.dumps({"data": e.errors}))
            except ValueError as e:
                msg = "Couldn't update release: %s" % e
                self.log.warning("Bad input: %s", msg)
                return Response(status=400, response=json.dumps({"data": e.args}))
            return Response(status=201)
コード例 #9
0
ファイル: releases.py プロジェクト: nurav/balrog
    def _post(self, changed_by, transaction):
        form = CompleteReleaseForm()
        if not form.validate():
            self.log.warning("Bad input: %s", form.errors)
            return Response(status=400, response=json.dumps(form.errors))

        try:
            blob = createBlob(form.blob.data)
            name = dbo.releases.insert(changed_by=changed_by, transaction=transaction,
                                       name=form.name.data, product=form.product.data,
                                       data=blob)
        except BlobValidationError as e:
            msg = "Couldn't update release: %s" % e
            self.log.warning("Bad input: %s", msg)
            return Response(status=400, response=json.dumps({"data": e.errors}))
        except ValueError as e:
            msg = "Couldn't update release: %s" % e
            self.log.warning("Bad input: %s", msg)
            return Response(status=400, response=json.dumps({"data": e.args}))

        release = dbo.releases.getReleases(
            name=name, transaction=transaction, limit=1
        )[0]
        return Response(status=201, response=json.dumps(dict(new_data_version=release["data_version"])))