Remove the directory, if requested, after deleting Media
This commit is contained in:
1 parent
61853f49b5
commit
5d92176257
1 file changed
+13
-7
+13
-7
@@ -11,7 +11,7 @@ import uuid
|
||||
from io import BytesIO
|
||||
from hashlib import sha1
|
||||
from datetime import datetime, timedelta
|
||||
from shutil import copyfile
|
||||
from shutil import copyfile, rmtree
|
||||
from PIL import Image
|
||||
from django.conf import settings
|
||||
from django.core.files.base import ContentFile
|
||||
@@ -719,8 +719,8 @@ def wait_for_media_premiere(media_id):
|
||||
media.title = _(f'Premieres in {hours(media.published - now)} hours')
|
||||
media.save()
|
||||
|
||||
@background(schedule=300, remove_existing_tasks=False)
|
||||
def delete_all_media_for_source(source_id, source_name):
|
||||
@background(schedule=90, remove_existing_tasks=False)
|
||||
def delete_all_media_for_source(source_id, source_name, source_directory_path):
|
||||
source = None
|
||||
try:
|
||||
source = Source.objects.get(pk=source_id)
|
||||
@@ -734,8 +734,14 @@ def delete_all_media_for_source(source_id, source_name):
|
||||
).filter(
|
||||
source=source or source_id,
|
||||
)
|
||||
for media in mqs:
|
||||
log.info(f'Deleting media for source: {source_name} item: {media.name}')
|
||||
with atomic():
|
||||
media.delete()
|
||||
with atomic(durable=True):
|
||||
for media in mqs:
|
||||
log.info(f'Deleting media for source: {source_name} item: {media.name}')
|
||||
with atomic():
|
||||
media.delete()
|
||||
# Remove the directory, if the user requested that
|
||||
directory_path = Path(source_directory_path)
|
||||
if (directory_path / '.to_be_removed').is_file():
|
||||
log.info(f'Deleting directory for: {source_name}: {directory_path}')
|
||||
rmtree(directory_path, True)
|
||||
|
||||
Reference in new issue
Block a user