- temp = tempfile.TemporaryFile()
- archive = zipfile.ZipFile(temp, 'w', zipfile.ZIP_DEFLATED)
- for book in models.Book.tagged.with_all(shelf):
- filename = book.html_file.path
- archive.write(filename, str('%s.html' % book.slug))
+ temp = temp = tempfile.TemporaryFile()
+ archive = zipfile.ZipFile(temp, 'w')
+
+ for book in collect_books(models.Book.tagged.with_all(shelf)):
+ if 'pdf' in formats and book.pdf_file:
+ filename = book.pdf_file.path
+ archive.write(filename, str('%s.pdf' % book.slug))
+ if 'odt' in formats and book.odt_file:
+ filename = book.odt_file.path
+ archive.write(filename, str('%s.odt' % book.slug))
+ if 'txt' in formats and book.txt_file:
+ filename = book.txt_file.path
+ archive.write(filename, str('%s.txt' % book.slug))
+ if 'mp3' in formats and book.mp3_file:
+ filename = book.mp3_file.path
+ archive.write(filename, str('%s.mp3' % book.slug))
+ if 'ogg' in formats and book.ogg_file:
+ filename = book.ogg_file.path
+ archive.write(filename, str('%s.ogg' % book.slug))