from ..decorators import background from ..models import Result import os import shutil @background def delete_result(result_id, *args, **kwargs): app = kwargs['app'] with app.app_context(): result = Result.query.get(result_id) if result is None: return result_file_path = os.path.join(app.config['NOPAQUE_STORAGE'], result.file[0].dir) shutil.rmtree(result_file_path) result.delete() # cascades down and also deletes ResultFile