fnp
/
wolnelektury.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
e1ca1ec
)
Children book formats are added to ZIP archive for shelf.
author
Marek Stępniowski
<marek@stepniowski.com>
Wed, 24 Sep 2008 08:49:57 +0000
(10:49 +0200)
committer
Marek Stępniowski
<marek@stepniowski.com>
Wed, 24 Sep 2008 08:49:57 +0000
(10:49 +0200)
apps/catalogue/views.py
patch
|
blob
|
history
diff --git
a/apps/catalogue/views.py
b/apps/catalogue/views.py
index
f574c13
..
b73552e
100644
(file)
--- a/
apps/catalogue/views.py
+++ b/
apps/catalogue/views.py
@@
-214,7
+214,18
@@
def download_shelf(request, slug):
# Create a ZIP archive
temp = temp = tempfile.TemporaryFile()
archive = zipfile.ZipFile(temp, 'w')
# Create a ZIP archive
temp = temp = tempfile.TemporaryFile()
archive = zipfile.ZipFile(temp, 'w')
- for book in models.Book.tagged.with_all(shelf):
+
+ # Collect all books to include in ZIP archive
+ def collect_books(books):
+ result = []
+ for book in books:
+ if len(book.children.all()) == 0:
+ result.append(book)
+ else:
+ result += collect_books(book.children.all())
+ return result
+
+ for book in collect_books(models.Book.tagged.with_all(shelf)):
if book.pdf_file:
filename = book.pdf_file.path
archive.write(filename, str('%s.pdf' % book.slug))
if book.pdf_file:
filename = book.pdf_file.path
archive.write(filename, str('%s.pdf' % book.slug))