# HG changeset patch # User Björn Ricks # Date 1415792498 -3600 # Node ID d8fc52aceb9cf835d2036f2bb709a2438be9f594 # Parent ae377f7eed182d22fa683cc11d551bf7c1c52fc9 Handle errors during merge of pdf documents diff -r ae377f7eed18 -r d8fc52aceb9c odfcast/convert.py --- a/odfcast/convert.py Wed Nov 12 12:40:31 2014 +0100 +++ b/odfcast/convert.py Wed Nov 12 12:41:38 2014 +0100 @@ -9,6 +9,7 @@ from py3o.template import Template from PyPDF2 import PdfFileMerger +from PyPDF2.utils import PyPdfError from werkzeug.utils import escape @@ -197,14 +198,18 @@ merger = PdfFileMerger() ffiles = request.files.getlist('files') - for ffile in ffiles: - merger.append(ffile) + try: + for ffile in ffiles: + merger.append(ffile) - outfile = tempfile.NamedTemporaryFile() + outfile = tempfile.NamedTemporaryFile() - merger.write(outfile) - merger.close() - outfile.seek(0) + merger.write(outfile) + merger.close() + outfile.seek(0) + except PyPdfError, e: + log.exception("Merge error") + return MergeErrorResponse(details=str(e)) log.debug("PDF documents merged") return Response(outfile, mimetype=PDF_MIMETYPE)