comparison odfcast/convert.py @ 61:d8fc52aceb9c

Handle errors during merge of pdf documents
author Björn Ricks <bjoern.ricks@intevation.de>
date Wed, 12 Nov 2014 12:41:38 +0100
parents ae377f7eed18
children 16352bd395fa
comparison
equal deleted inserted replaced
60:ae377f7eed18 61:d8fc52aceb9c
7 from flask.views import MethodView 7 from flask.views import MethodView
8 8
9 from py3o.template import Template 9 from py3o.template import Template
10 10
11 from PyPDF2 import PdfFileMerger 11 from PyPDF2 import PdfFileMerger
12 from PyPDF2.utils import PyPdfError
12 13
13 from werkzeug.utils import escape 14 from werkzeug.utils import escape
14 15
15 log = logging.getLogger(__name__) 16 log = logging.getLogger(__name__)
16 17
195 log.debug("Merging PDF documents") 196 log.debug("Merging PDF documents")
196 197
197 merger = PdfFileMerger() 198 merger = PdfFileMerger()
198 ffiles = request.files.getlist('files') 199 ffiles = request.files.getlist('files')
199 200
200 for ffile in ffiles: 201 try:
201 merger.append(ffile) 202 for ffile in ffiles:
202 203 merger.append(ffile)
203 outfile = tempfile.NamedTemporaryFile() 204
204 205 outfile = tempfile.NamedTemporaryFile()
205 merger.write(outfile) 206
206 merger.close() 207 merger.write(outfile)
207 outfile.seek(0) 208 merger.close()
209 outfile.seek(0)
210 except PyPdfError, e:
211 log.exception("Merge error")
212 return MergeErrorResponse(details=str(e))
208 213
209 log.debug("PDF documents merged") 214 log.debug("PDF documents merged")
210 return Response(outfile, mimetype=PDF_MIMETYPE) 215 return Response(outfile, mimetype=PDF_MIMETYPE)
211 216
212 217
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)