From 5666c8fc27d9470712c69bfe387a76277237204d Mon Sep 17 00:00:00 2001 From: Markos Gogoulos Date: Thu, 15 May 2025 19:16:22 +0300 Subject: [PATCH] ref --- files/methods.py | 5 ++++- files/models.py | 12 ++++++++++++ files/tasks.py | 2 ++ 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/files/methods.py b/files/methods.py index 42522ea2..787482b4 100644 --- a/files/methods.py +++ b/files/methods.py @@ -436,6 +436,8 @@ def copy_video(original_media, copy_encodings=True, title_suffix="(Trimmed)"): allow_download=original_media.allow_download, state=original_media.state, is_reviewed=original_media.is_reviewed, + encoding_status=original_media.encoding_status, + listable=original_media.listable, add_date=timezone.now() ) models.Media.objects.bulk_create([new_media]) @@ -458,7 +460,8 @@ def copy_video(original_media, copy_encodings=True, title_suffix="(Trimmed)"): ) models.Encoding.objects.bulk_create([new_encoding]) # avoids calling signals - # TODO: check size + + new_encoding.update_size() # Copy categories and tags for category in original_media.category.all(): diff --git a/files/models.py b/files/models.py index 68b51ccd..091243e1 100644 --- a/files/models.py +++ b/files/models.py @@ -1221,6 +1221,18 @@ class Encoding(models.Model): super(Encoding, self).save(*args, **kwargs) + def update_size(self): + """Update the size of the encoding file""" + if self.media_file: + cmd = ["stat", "-c", "%s", self.media_file.path] + stdout = helpers.run_command(cmd).get("out") + if stdout: + size = int(stdout.strip()) + self.size = helpers.show_file_size(size) + self.save(update_fields=["size"]) + return True + return False + def set_progress(self, progress, commit=True): if isinstance(progress, int): if 0 <= progress <= 100: diff --git a/files/tasks.py b/files/tasks.py index 01a6755b..6ab5c891 100644 --- a/files/tasks.py +++ b/files/tasks.py @@ -423,6 +423,7 @@ def produce_sprite_from_video(friendly_token): def create_hls(friendly_token): """Creates HLS file for media, uses Bento4 mp4hls command""" + logger.info(f"Entering for {friendly_token}") if not hasattr(settings, "MP4HLS_COMMAND"): logger.info("Bento4 mp4hls command is missing from configuration") return False @@ -467,6 +468,7 @@ def create_hls(friendly_token): if media.hls_file != pp: media.hls_file = pp media.save(update_fields=["hls_file"]) + logger.info(f"All good / exiting for {friendly_token}") return True