Mercurial > odfcast > odfcast
diff odfcast/convert.py @ 73:02efda1f6919
issue5117: service for checking a pdf for merging readiness added.
author | Bernhard Reiter <bernhard@intevation.de> |
---|---|
date | Fri, 06 Mar 2015 14:56:26 +0100 |
parents | 5d1e486140ae |
children | 3492c79d83c8 |
line wrap: on
line diff
--- a/odfcast/convert.py Fri Mar 06 14:07:24 2015 +0100 +++ b/odfcast/convert.py Fri Mar 06 14:56:26 2015 +0100 @@ -232,6 +232,34 @@ return request.args.get("ignore_file_errors", False) or \ request.form.get("ignore_file_errors", False) +class CheckView(MethodView): + + def get(self): + return render_template("check.html") + + def post(self): + log.debug("Checking a PDF document's readiness for merging") + + merger = PdfFileMerger() + + ffile = request.files['file'] + if not ffile.filename: + return ErrorResponse( + "Upload file missing", error_code=101, + details="Please upload a file for conversion", + html_error_code=400) + + try: + merger.append(ffile) + except Exception, e: + log.exception("Error merging file %s" % ffile) + return MergeErrorResponse(details=str(e)) + + merger.close() + + log.debug("PDF document %s checked." % ffile) + return Response("Okay.") + class TemplateView(MethodView):