diff --git a/pount/apps/api/signals.py b/pount/apps/api/signals.py index 34588ce465cb462b06ca849a444e3071906bcec5..f261183a56235bd5546d081800231cfae4475b67 100644 --- a/pount/apps/api/signals.py +++ b/pount/apps/api/signals.py @@ -63,4 +63,4 @@ def create_iiif_task(sender, instance: models.item.MediaFile, **kwargs): @receiver(post_delete, sender=models.item.MediaFile) def remove_iiif_file(sender, instance: models.item.MediaFile, **kwargs): if instance.component == "Image": - clean_iiif_media.delay(instance.filename) + clean_iiif_media.delay(str(instance.id)) diff --git a/pount/apps/api/tasks.py b/pount/apps/api/tasks.py index a8e2806465eef2ae121a4353246a2a9cd8e0ee4c..ea297d700965dd8eb8679fdd3e166e498fd02573 100644 --- a/pount/apps/api/tasks.py +++ b/pount/apps/api/tasks.py @@ -1,4 +1,5 @@ import logging +from typing import Union from uuid import UUID from celery import shared_task @@ -34,14 +35,11 @@ def handle_update_item_metadata_on_template_save(template_id: UUID) -> None: @shared_task -def clean_iiif_media(media_filename: str) -> None: - import os - +def clean_iiif_media(media_id: Union[str, UUID]) -> None: from pount.apps.api.storage_backends import IIIFFileStorage iiif_storage = IIIFFileStorage() - basename, _ = os.path.splitext(media_filename) - tiled_tif = f"{basename}.tiled.tif" + tiled_tif = f"{media_id}.tiled.tif" iiif_storage.delete(tiled_tif) logger.debug(f"deleted {tiled_tif}") @@ -105,5 +103,5 @@ def ensure_media_has_iiif(media_id: UUID) -> None: pic_to_tiled_tiff(tmp_file_name, tiled_tif) iiif_storage = IIIFFileStorage() with open(tiled_tif, "rb") as f: - iiif_storage.save(os.path.basename(tiled_tif), f) + iiif_storage.save(f"{media_file.id}.tiled.tif", f) logger.debug(f"saved {tiled_tif}")