gault-millau/apps/gallery/tasks.py
2019-10-02 14:10:23 +03:00

28 lines
941 B
Python

"""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}')