@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)
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)
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: