X-Git-Url: https://git.mdrn.pl/audio.git/blobdiff_plain/d7186e88fcc0cf5d5449a16d3907e01aaafc484e..5715ba5816c2773949689461f715a08caa8c5d11:/src/youtube/tasks.py?ds=sidebyside diff --git a/src/youtube/tasks.py b/src/youtube/tasks.py index f58df0a..d7ca67e 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,32 @@ 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: + paths = [audiobook.source_file.path] + else: + paths = [ + a.source_file.path + for a in type(audiobook) + .objects.filter( + slug=audiobook.slug, youtube_volume=audiobook.youtube_volume + ) + .order_by("index") + ] + if audiobook.project.info_flac: + paths.append(audiobook.project.info_flac.path) + return paths