import os
import sys
+from optparse import make_option
from django.core.management.base import BaseCommand
from django.core.management.color import color_style
-from optparse import make_option
+from django.core.files import File
from catalogue.models import Book
for dir_name in directories:
if not os.path.isdir(dir_name):
print self.style.ERROR("%s: Not a directory. Skipping." % dir_name)
- files_skipped += 1
else:
for file_name in os.listdir(dir_name):
file_path = os.path.join(dir_name, file_name)
# Skip files that are not XML files
if not ext == '.xml':
print self.style.NOTICE("%s: Not an XML file. Skipping." % file_path)
- files_skipped += 1
continue
if verbose > 0:
formats.append(u'<a href="%s">Plik PDF</a>' % self.pdf_file.url)
if self.odt_file:
formats.append(u'<a href="%s">Plik ODT</a>' % self.odt_file.url)
+ if self.odt_file:
+ formats.
self._short_html = unicode(render_to_string('catalogue/book_short.html',
{'book': self, 'tags': tags, 'formats': formats}))
raise Book.AlreadyExists('Book %s already exists' % book_slug)
book.title = book_info.title
+ book._short_html = ''
book.save()
book_tags = []
context_instance=RequestContext(request))
-@cache.cache_control(must_revalidate=True, max_age=1800)
+@cache.never_cache
def download_shelf(request, slug):
""""
Create a ZIP archive on disk and transmit it in chunks of 8KB,
# Create a ZIP archive
temp = tempfile.TemporaryFile()
- archive = zipfile.ZipFile(temp, 'w', zipfile.ZIP_DEFLATED)
+ archive = zipfile.ZipFile(temp, 'w')
for book in models.Book.tagged.with_all(shelf):
if book.pdf_file:
filename = book.pdf_file.path
- archive.write(filename, str('%s.pdf' % book.slug))
+ print filename
+ archive.write(filename, str('%s.pdf' % book.slug[:7]))
if book.odt_file:
filename = book.odt_file.path
- archive.write(filename, str('%s.odt' % book.slug))
+ print filename
+ archive.write(filename, str('%s.odt' % book.slug[:7]))
if book.txt_file:
filename = book.txt_file.path
- archive.write(filename, str('%s.txt' % book.slug))
+ print filename
+ archive.write(filename, str('%s.txt' % book.slug[:7]))
archive.close()
+
+ zf = zipfile.ZipFile(temp, 'r')
+ print zf.testzip()
+ print zf.namelist()
- # Write file to archive in small chunks
wrapper = FileWrapper(temp)
response = HttpResponse(wrapper, content_type='application/zip')
response['Content-Disposition'] = 'attachment; filename=%s.zip' % shelf.sort_key
response['Content-Length'] = temp.tell()
+ print temp.tell()
temp.seek(0)
return response