-def download_custom_pdf(request, slug, method='GET'):
- book = get_object_or_404(models.Book, slug=slug)
-
- if request.method == method:
- form = forms.CustomPDFForm(method == 'GET' and request.GET or request.POST)
- if form.is_valid():
- cust = form.customizations
- pdf_file = models.get_customized_pdf_path(book, cust)
-
- if not path.exists(pdf_file):
- result = async_build_pdf.delay(book.id, cust, pdf_file)
- result.wait()
- return AttachmentHttpResponse(file_name=("%s.pdf" % book.slug), file_path=pdf_file, mimetype="application/pdf")
- else:
- raise Http404(_('Incorrect customization options for PDF'))
- else:
- raise Http404(_('Bad method'))
-
-