From cd71ca64b48a10181a99cc15882687eacf3f43b0 Mon Sep 17 00:00:00 2001
From: Julian Mutter <julian.mutter@comumail.de>
Date: Sat, 27 Aug 2022 20:34:34 +0200
Subject: [PATCH] Put transcoding of episode into separate function

---
 transcoder/transcode_dvd.py | 55 ++++++++++++++++++++++---------------
 1 file changed, 33 insertions(+), 22 deletions(-)

diff --git a/transcoder/transcode_dvd.py b/transcoder/transcode_dvd.py
index feb1a61..f8a1cf0 100755
--- a/transcoder/transcode_dvd.py
+++ b/transcoder/transcode_dvd.py
@@ -196,33 +196,44 @@ def transcode_series(dvd: Dvd):
         episode = episodes[i]
         title_number = title_numbers[i]
 
-        episode_title = dvd.series_create_episode_title(season, episode)
-        if episode_title is None:
-            dvd.append_line_to_logfile(f"Dvd has non valid series name!! ({dvd})")
+        output_file = transcode_episode(dvd, season, episode, title_number)
+        if not output_file:
             return False
-
-        video_file_name = episode_title + OUT_VIDEO_FORMAT
-        output_file = os.path.join(TMP_DIR, video_file_name)
-        output_files.append(output_file)
-
-        with open(dvd.log_file, "w") as log_file:
-            proc = subprocess.run(
-                dvd.transcode_command_args_without_title_number(output_file)
-                + [
-                    "--title",
-                    str(title_number),
-                    "--min-duration",
-                    str(MIN_EPISODES_DURATION_SECONDS),
-                ],
-                stderr=subprocess.STDOUT,
-                stdout=log_file,
-            )
-            if proc.returncode != 0:
-                return False
+        else:
+            output_files.append(output_file)
 
     return output_files
 
 
+def transcode_episode(dvd: Dvd, season, episode, title_number):
+    episode_title = dvd.series_create_episode_title(season, episode)
+    if episode_title is None:
+        dvd.append_line_to_logfile(f"Dvd has non valid series name!! ({dvd})")
+        return False
+
+    print(f"Transcoding episode {episode_title}...")
+
+    video_file_name = episode_title + OUT_VIDEO_FORMAT
+    output_file = os.path.join(TMP_DIR, video_file_name)
+
+    with open(dvd.log_file, "w") as log_file:
+        proc = subprocess.run(
+            dvd.transcode_command_args_without_title_number(output_file)
+            + [
+                "--title",
+                str(title_number),
+                "--min-duration",
+                str(MIN_EPISODES_DURATION_SECONDS),
+            ],
+            stderr=subprocess.STDOUT,
+            stdout=log_file,
+        )
+        if proc.returncode != 0:
+            return False
+
+    return output_file
+
+
 def find_series_titles(dvd: Dvd):
     with open(dvd.log_file, "w") as log_file:
         proc = subprocess.run(