X-Git-Url: https://git.mdrn.pl/audio.git/blobdiff_plain/5af32283874d53570956a2ecdeb0f07a65f0471c..42d519535bd4445ef0fa8279876bc6eb9560ad6b:/apps/archive/tasks.py diff --git a/apps/archive/tasks.py b/apps/archive/tasks.py index d3ec740..e257da0 100755 --- a/apps/archive/tasks.py +++ b/apps/archive/tasks.py @@ -19,19 +19,20 @@ import mutagen from archive.constants import status from archive.models import Audiobook from archive.settings import (BUILD_PATH, COVER_IMAGE, - UPLOAD_HOST, UPLOAD_USER, UPLOAD_PATH, UPLOAD_CMD, UPLOAD_SUDO) + UPLOAD_HOST, UPLOAD_USER, UPLOAD_PASSWORD, UPLOAD_PATH, UPLOAD_CMD, UPLOAD_SUDO) from archive.utils import ExistingFile api.env.host_string = UPLOAD_HOST api.env.user = UPLOAD_USER +api.env.password = UPLOAD_PASSWORD class AudioFormatTask(Task): abstract = True @classmethod def set_status(cls, audiobook, status): - setattr(audiobook, '%s_status' % cls.ext, status) - audiobook.save() + Audiobook.objects.filter(pk=audiobook.pk).update( + **{'%s_status' % cls.ext: status}) @staticmethod def encode(in_path, out_path): @@ -53,11 +54,14 @@ class AudioFormatTask(Task): @classmethod def published(cls, audiobook): - setattr(audiobook, "%s_published_tags" % cls.ext, - getattr(audiobook, "%s_tags" % cls.ext)) - setattr(audiobook, "%s_tags" % cls.ext, None) - setattr(audiobook, "%s_published" % cls.ext, datetime.now()) - cls.set_status(audiobook, None) + kwargs = { + "%s_published_tags" % cls.ext: + getattr(audiobook, "%s_tags" % cls.ext), + "%s_tags" % cls.ext: None, + "%s_published" % cls.ext: datetime.now(), + '%s_status' % cls.ext: None, + } + Audiobook.objects.filter(pk=audiobook.pk).update(**kwargs) @classmethod def put(cls, audiobook): @@ -71,7 +75,6 @@ class AudioFormatTask(Task): pipes.quote(slug), pipes.quote(name) )).encode('utf-8') - print command if UPLOAD_SUDO: api.sudo(command, user=UPLOAD_SUDO, shell=False) else: @@ -100,7 +103,6 @@ class AudioFormatTask(Task): self.put(audiobook) self.published(audiobook) - audiobook.save() class Mp3Task(AudioFormatTask):