#from celery.decorators import task
from celery.task import Task
from fabric import api
+from fabric.network import disconnect_all
from mutagen import File
from mutagen import id3
@classmethod
def save(cls, audiobook, file_name):
- getattr(audiobook, "%s_file" % cls.ext).save(
+ field = "%s_file" % cls.ext
+ getattr(audiobook, field).save(
"%d.%s" % (audiobook.pk, cls.ext),
- ExistingFile(file_name)
+ ExistingFile(file_name),
+ save=False
)
+ Audiobook.objects.filter(pk=audiobook.pk).update(
+ **{field: getattr(audiobook, field)})
@classmethod
def published(cls, audiobook):
api.sudo(command, user=UPLOAD_SUDO, shell=False)
else:
api.run(command)
+ disconnect_all()
def run(self, aid):
audiobook = Audiobook.objects.get(id=aid)