From ba047b120e59a50603dee20aa127a6d402ad2930 Mon Sep 17 00:00:00 2001 From: Jan Szejko Date: Fri, 2 Mar 2018 09:57:27 +0100 Subject: [PATCH 1/1] update for publishing audiobooks --- src/catalogue/management/commands/savemedia.py | 8 ++++++-- src/catalogue/models/bookmedia.py | 5 +++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/catalogue/management/commands/savemedia.py b/src/catalogue/management/commands/savemedia.py index 6196bab42..ab4da51d4 100755 --- a/src/catalogue/management/commands/savemedia.py +++ b/src/catalogue/management/commands/savemedia.py @@ -18,7 +18,9 @@ class Command(BaseCommand): @transaction.atomic def handle(self, *args, **options): - path, slug, name = args + path, slug, name, part_name, index, parts_count = args + index = int(index) + parts_count = int(parts_count) book = Book.objects.get(slug=slug) @@ -39,5 +41,7 @@ class Command(BaseCommand): bm = BookMedia(book=book, type=ext) print "Creating new media" bm.name = name + bm.part_name = part_name + bm.index = index bm.file.save(None, ExistingFile(path)) - bm.save() + bm.save(parts_count=parts_count) diff --git a/src/catalogue/models/bookmedia.py b/src/catalogue/models/bookmedia.py index 0bf92db90..6b650806c 100644 --- a/src/catalogue/models/bookmedia.py +++ b/src/catalogue/models/bookmedia.py @@ -47,10 +47,11 @@ class BookMedia(models.Model): verbose_name_plural = _('book media') app_label = 'catalogue' - def save(self, *args, **kwargs): + def save(self, parts_count=None, *args, **kwargs): from catalogue.utils import ExistingFile, remove_zip - parts_count = 1 + BookMedia.objects.filter(book=self.book, type=self.type).exclude(pk=self.pk).count() + if not parts_count: + parts_count = 1 + BookMedia.objects.filter(book=self.book, type=self.type).exclude(pk=self.pk).count() if parts_count == 1: self.name = self.book.pretty_title() else: -- 2.20.1