X-Git-Url: https://git.mdrn.pl/audio.git/blobdiff_plain/c1fb106dd58d06968cb2932dab47f67d96163aa1..c6ca599c058d82bfd3cc063d182f35cbb2735026:/apps/archive/tasks.py diff --git a/apps/archive/tasks.py b/apps/archive/tasks.py old mode 100755 new mode 100644 index bbabe6c..1b2be74 --- a/apps/archive/tasks.py +++ b/apps/archive/tasks.py @@ -4,6 +4,7 @@ import mimetypes import os import os.path import pipes +import stat import subprocess from tempfile import NamedTemporaryFile from time import sleep @@ -58,6 +59,7 @@ class AudioFormatTask(Task): ExistingFile(file_name), save=False ) + os.chmod(getattr(audiobook, field).path, stat.S_IREAD|stat.S_IWRITE|stat.S_IRGRP|stat.S_IROTH) Audiobook.objects.filter(pk=audiobook.pk).update( **{field: getattr(audiobook, field)}) @@ -91,7 +93,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) @@ -111,10 +113,13 @@ class AudioFormatTask(Task): self.set_tags(audiobook, out_file.name) self.set_status(aid, status.SENDING) - self.put(audiobook, out_file.name) + if publish: + self.put(audiobook, out_file.name) + self.published(aid) + else: + self.set_status(aid, None) self.save(audiobook, out_file.name) - self.published(aid) def on_failure(self, exc, task_id, args, kwargs, einfo): aid = (args[0], kwargs.get('aid'))[0]