This commit is contained in:
Markos Gogoulos 2025-05-15 19:30:31 +03:00
parent 5666c8fc27
commit 8f31320f65
2 changed files with 17 additions and 4 deletions

View File

@ -423,6 +423,7 @@ def copy_video(original_media, copy_encodings=True, title_suffix="(Trimmed)"):
Returns:
New Media object
"""
from .tasks import update_encoding_size
with open(original_media.media_file.path, "rb") as f:
myfile = File(f)
@ -460,8 +461,7 @@ def copy_video(original_media, copy_encodings=True, title_suffix="(Trimmed)"):
)
models.Encoding.objects.bulk_create([new_encoding])
# avoids calling signals
new_encoding.update_size()
update_encoding_size.delay(new_encoding.id)
# Copy categories and tags
for category in original_media.category.all():

View File

@ -808,6 +808,19 @@ def remove_media_file(media_file=None):
return True
@task(name="update_encoding_size", queue="short_tasks")
def update_encoding_size(encoding_id):
"""Update the size of an encoding"""
logger.info(f"Updating size for encoding {encoding_id}")
try:
encoding = Encoding.objects.get(id=encoding_id)
encoding.update_size()
return True
except Encoding.DoesNotExist:
logger.info(f"Encoding with ID {encoding_id} not found")
return False
@task(name="produce_video_chapters", queue="short_tasks")
def produce_video_chapters(chapter_id):
chapter_object = VideoChapterData.objects.filter(id=chapter_id).first()
@ -902,7 +915,7 @@ def video_trim_task(self, trim_request_id):
logger.info(f"Failed to trim original file for media {target_media.friendly_token}")
target_media.set_media_type()
create_hls(target_media.friendly_token)
create_hls.delay(target_media.friendly_token)
trim_request.status = "success"
trim_request.save(update_fields=["status"])
@ -922,7 +935,7 @@ def video_trim_task(self, trim_request_id):
trim_result = trim_video_method(encoding.media_file.path, [timestamp])
new_media.set_media_type()
create_hls(new_media.friendly_token)
create_hls.delay(new_media.friendly_token)
new_media.produce_thumbnails_from_video()
new_media.produce_sprite_from_video()