Beispiel #1
0
    def delete(self, document_id=None, **kwargs):
        if document_id is None:
            abort(400)
        document = current_app.db_session.query(Document).get(document_id)
        if document is None:
            abort(404)

        backend = get_backend_for_model(document,
                                        os.environ.get('DOCUMENTS_PATH',
                                                       '/tmp'))
        if backend is None:
            current_app.logger.warn(('Could not delete associated file. '
                                     'Unknown backend for model: %s (id: %d)'), document,
                                    document.id)
        else:
            backend.delete()

        current_app.db_session.delete(document)
        current_app.db_session.commit()
        return '', 204
Beispiel #2
0
    def delete(self, image_id=None, **kwargs):
        if image_id is None:
            abort(400)
        image = current_app.db_session.query(Image).get(image_id)
        if image is None:
            abort(404)

        backend = get_backend_for_model(image, os.environ.get('IMAGES_PATH',
                                                              '/tmp'))
        if backend is None:
            current_app.logger.warn(('Could not delete associated file. '
                                     'Unknown backend for model: %s (id: %d)'), image, image.id)
        else:
            backend.delete()

        remove_thumbnails(image.filename)

        current_app.db_session.delete(image)
        current_app.db_session.commit()
        return '', 204