"""Gallery app celery tasks.""" import logging from celery import shared_task from sorl.thumbnail import delete from . import models logging.basicConfig(format='[%(levelname)s] %(message)s', level=logging.INFO) logger = logging.getLogger(__name__) @shared_task def delete_image_from_remote_storage(image_id, delete_original=True): """Delete an image from remote storage.""" image_qs = models.Image.objects.filter(id=image_id) if image_qs.exists(): try: image = image_qs.first() # Delete from remote storage delete(file_=image.image.file, delete_file=delete_original) # Delete an instance of image image.delete() except: logger.error(f'METHOD_NAME: delete_image_from_remote_storage\n' f'DETAIL: Exception occurred while deleting an image ' f'from remote storage: image_id - {image_id}')