Esempio n. 1
0
    def update(self, environ, params):
        try:
            req = Controller().getRequest()
            router = Controller().getRouter()
            b = BlobFactory.get(params['bid'])
            if not b:
                output.error('blob not found', 404)

            cT = req.headers['Content-Type'] or 'application/octet-stream'

            BlobFactory.update(
                params['bid'],
                b.type,
                'draft',
                req.body,
                cT,
                activity=b.activity
            )

            resultUrl = router.getRoute('graph.Blob.fetch', {
                'version': params['version'],
                'bid': params['bid'],
                'release': 'draft'
            })
            output.success({
                'url': resultUrl,
                'blobId': params['bid']
            }, 202)
        except Error:
            pass

        return Controller().getResponse(True)
Esempio n. 2
0
    def delete(self, environ, params):
        try:
            b = BlobFactory.get(params['bid'])
            if not b:
                output.error('blob not found', 404)

            BlobFactory.delete(params['bid'])
            output.success('blob deleted', 202)
        except Error:
            pass

        return Controller().getResponse(True)
Esempio n. 3
0
    def fetch(self, environ, params):
        try:
            req = Controller().getRequest()
            b = BlobFactory.get(params['bid'], params['release'])
            if not b:
                output.error('blob not found', 404)

            resp = Controller().getResponse()
            resp.headers['Content-Type'] = b.content_type
            resp.body = b.read()
        except Error:
            pass

        return Controller().getResponse(True)
Esempio n. 4
0
    def get(self, environ, params):
        try:
            req = Controller().getRequest()
            blobId = BlobFactory.getBlobIds(user=params["uid"], release="published", type="avatar")

            if not len(blobId):
                output.error("avatar not found", 404)

            blobId = blobId.pop()

            b = BlobFactory.get(blobId, "published")
            resp = Controller().getResponse()
            resp.headers["Content-Type"] = b.content_type
            resp.body = b.read()
        except Error:
            pass

        return Controller().getResponse(True)