from errno import EEXIST, ENOENT
from fcntl import flock, LOCK_EX
from zipfile import ZipFile
+from traceback import print_exc
from reporting.utils import read_chunks
from celery.task import task
Accepts the same args as Book.build_pdf, but with book id as first parameter
instead of Book instance
"""
- book = catalogue.models.Book.objects.get(id=book_id)
- print "will gen %s" % DefaultStorage().path(file_name)
- if not DefaultStorage().exists(file_name):
- book.build_pdf(customizations=customizations, file_name=file_name)
- print "done."
+ try:
+ book = catalogue.models.Book.objects.get(id=book_id)
+ print "will gen %s" % DefaultStorage().path(file_name)
+ if not DefaultStorage().exists(file_name):
+ book.build_pdf(customizations=customizations, file_name=file_name)
+ print "done."
+ except Exception, e:
+ print "Error during pdf creation: %s" % e
+ print_exc
+ raise e
class MultiQuerySet(object):
else:
offset = 0
stop = total_len - len(items)
- continue
\ No newline at end of file
+ continue
request.GET['next'] = "%s?%s" % (reverse('catalogue.views.download_custom_pdf', args=[request.GET['slug']]),
request.POST.urlencode())
return super(CustomPDFFormView, self).__call__(request)
-
+
def success(self, *args):
pass
def did_you_mean(query, tokens):
change = {}
for t in tokens:
- print("%s ok? %s, sug: %s" % (t, dictionary.check(t), dictionary.suggest(t)))
authors = Tag.objects.filter(category='author', name__iregex=match_word_re(t))
if len(authors) > 0:
continue