From 6468ef21bab354b088ad025d87d276ffb4b2c85d Mon Sep 17 00:00:00 2001 From: Jan Szejko Date: Tue, 27 Dec 2016 15:30:01 +0100 Subject: [PATCH] more error reporting --- apps/catalogue/views.py | 20 +++++++++++++------- lib/librarian | 2 +- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/apps/catalogue/views.py b/apps/catalogue/views.py index c43a46f5..bde9dc00 100644 --- a/apps/catalogue/views.py +++ b/apps/catalogue/views.py @@ -15,7 +15,7 @@ from django.contrib.auth.models import User from django.contrib.auth.decorators import login_required from django.core.urlresolvers import reverse from django import http -from django.http import Http404 +from django.http import Http404, HttpResponse from django.shortcuts import get_object_or_404, render, redirect from django.utils.encoding import force_str from django.utils.http import urlquote_plus @@ -214,7 +214,10 @@ def book_pdf(request, pk, rev_pk): rev = get_object_or_404(Revision, pk=rev_pk) # Test - sst = SST.from_string(rev.materialize()) + try: + sst = SST.from_string(rev.materialize()) + except ValueError as e: + return HttpResponse(content=force_str(e.message), content_type='text/plain', status='400') ctx = Context( files_path='http://%s/media/dynamic/uploads/%s/' % (request.get_host(), pk), @@ -225,7 +228,6 @@ def book_pdf(request, pk, rev_pk): try: pdf_file = PdfFormat(sst).build(ctx) except BuildError as e: - from django.http import HttpResponse return HttpResponse(content=force_str(e.message), content_type='text/plain', status='400') from catalogue.ebook_utils import serve_file @@ -242,7 +244,10 @@ def book_epub(request, pk, rev_pk): rev = get_object_or_404(Revision, pk=rev_pk) # Test - sst = SST.from_string(rev.materialize()) + try: + sst = SST.from_string(rev.materialize()) + except ValueError as e: + return HttpResponse(content=force_str(e.message), content_type='text/plain', status='400') ctx = Context( files_path='http://%s/media/dynamic/uploads/%s/' % (request.get_host(), pk), @@ -253,7 +258,6 @@ def book_epub(request, pk, rev_pk): try: epub_file = EpubFormat(sst).build(ctx) except BuildError as e: - from django.http import HttpResponse return HttpResponse(content=force_str(e.message), content_type='text/plain', status='400') from catalogue.ebook_utils import serve_file @@ -269,7 +273,10 @@ def book_mobi(request, pk, rev_pk): doc = get_object_or_404(Document, pk=pk) rev = get_object_or_404(Revision, pk=rev_pk) - sst = SST.from_string(rev.materialize()) + try: + sst = SST.from_string(rev.materialize()) + except ValueError as e: + return HttpResponse(content=force_str(e.message), content_type='text/plain', status='400') ctx = Context( files_path='http://%s/media/dynamic/uploads/%s/' % (request.get_host(), pk), @@ -280,7 +287,6 @@ def book_mobi(request, pk, rev_pk): try: epub_file = EpubFormat(sst).build(ctx) except BuildError as e: - from django.http import HttpResponse return HttpResponse(content=force_str(e.message), content_type='text/plain', status='400') output_file = NamedTemporaryFile(prefix='librarian', suffix='.mobi', delete=False) diff --git a/lib/librarian b/lib/librarian index 1428a9d8..e93c9079 160000 --- a/lib/librarian +++ b/lib/librarian @@ -1 +1 @@ -Subproject commit 1428a9d8f91b754fe7f9fb96cbdd0d6a2536ffc1 +Subproject commit e93c90799341b6627eca7fe03c7fefb95b4db9eb -- 2.20.1