X-Git-Url: https://git.mdrn.pl/audio.git/blobdiff_plain/c64903445bdf2294335b43d464d8147f2fdf41c4..c175a7540d20336179dfd453183bfe69e6f5827e:/apps/archive/tasks.py diff --git a/apps/archive/tasks.py b/apps/archive/tasks.py old mode 100755 new mode 100644 index e8ce4fb..ae73930 --- a/apps/archive/tasks.py +++ b/apps/archive/tasks.py @@ -91,7 +91,7 @@ class AudioFormatTask(Task): except SystemExit, e: raise cls.RemoteOperationError - def run(self, aid): + def run(self, aid, publish=True): aid = int(aid) audiobook = Audiobook.objects.get(id=aid) self.set_status(aid, status.ENCODING) @@ -110,11 +110,13 @@ class AudioFormatTask(Task): self.set_status(aid, status.TAGGING) self.set_tags(audiobook, out_file.name) self.set_status(aid, status.SENDING) - - self.put(audiobook, out_file.name) - self.save(audiobook, out_file.name) - self.published(aid) + + if publish: + self.put(audiobook, out_file.name) + self.published(aid) + else: + self.set_status(aid, None) def on_failure(self, exc, task_id, args, kwargs, einfo): aid = (args[0], kwargs.get('aid'))[0] @@ -157,12 +159,13 @@ class Mp3Task(AudioFormatTask): def encode(in_path, out_path): # 44.1kHz 64kbps mono MP3 subprocess.check_call(['ffmpeg', - '-i', in_path, + '-i', in_path.encode('utf-8'), '-ar', '44100', '-ab', '64k', '-ac', '1', '-y', - out_path + '-acodec', 'libmp3lame', + out_path.encode('utf-8') ]) @classmethod @@ -188,11 +191,12 @@ class OggTask(AudioFormatTask): @staticmethod def encode(in_path, out_path): # 44.1kHz 64kbps mono Ogg Vorbis - subprocess.check_call(['oggenc', - in_path, - '--discard-comments', - '--resample', '44100', - '--downmix', - '-b', '64', - '-o', out_path + subprocess.check_call(['ffmpeg', + '-i', in_path.encode('utf-8'), + '-ar', '44100', + '-ab', '64k', + '-ac', '1', + '-y', + '-acodec', 'libvorbis', + out_path.encode('utf-8') ])