X-Git-Url: https://git.mdrn.pl/audio.git/blobdiff_plain/d7186e88fcc0cf5d5449a16d3907e01aaafc484e..c20c52d415f7cebb44fb06721bd5f6860c0616ee:/src/youtube/tasks.py diff --git a/src/youtube/tasks.py b/src/youtube/tasks.py index f58df0a..cad3d11 100644 --- a/src/youtube/tasks.py +++ b/src/youtube/tasks.py @@ -1,3 +1,4 @@ +import os from archive.tasks import AudioFormatTask from .models import YouTube @@ -6,11 +7,28 @@ 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): + self.audiobook.project.youtube.prepare_file(in_paths, out_path) def set_tags(self, audiobook, filename): pass + @classmethod + def save(cls, audiobook, file_name): + """We do not save the video files.""" + os.unlink(file_name) + def put(self, user, audiobook, filename): - YouTube.objects.first().publish(audiobook, filename) + audiobook.project.youtube.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") + ]