Publish volumes of audiobooks on YT.
[audio.git] / src / youtube / tasks.py
index 32e41b7..63051c9 100644 (file)
@@ -7,8 +7,8 @@ class YouTubeTask(AudioFormatTask):
     ext = 'mkv'
     prefix = 'youtube'
 
-    def encode(self, in_path, out_path):
-        YouTube.objects.first().prepare_file(in_path, out_path)
+    def encode(self, in_paths, out_path):
+        YouTube.objects.first().prepare_file(in_paths, out_path)
 
     def set_tags(self, audiobook, filename):
         pass
@@ -20,3 +20,15 @@ class YouTubeTask(AudioFormatTask):
 
     def put(self, user, audiobook, filename):
         YouTube.objects.first().publish(audiobook, filename)
+
+    def get_source_file_paths(self, audiobook):
+        if not audiobook.youtube_volume:
+            return [audiobook.source_file.path]
+        return [
+            a.source_file.path
+            for a in type(audiobook)
+            .objects.filter(
+                slug=audiobook.slug, youtube_volume=audiobook.youtube_volume
+            )
+            .order_by("index")
+        ]