diff --git a/polynum/request/utils.py b/polynum/request/utils.py index 281273a..ae5bb9c 100644 --- a/polynum/request/utils.py +++ b/polynum/request/utils.py @@ -1,6 +1,9 @@ # -*- coding: utf-8 -*- # https://github.com/mfenniak/pyPdf from collections import defaultdict +import logging + +logger = logging.getLogger(__name__) from pyPdf import PdfFileReader from pyPdf.utils import PyPdfError @@ -12,7 +15,11 @@ N_ = lambda x: x def check_pdf(filelike): try: - pdf_file = PdfFileReader(filelike) + try: + pdf_file = PdfFileReader(filelike) + except: + logger.exception('Invalid pdf file') + raise ValueError(N_(u'Ce fichier PDF est invalide')) if pdf_file.isEncrypted and pdf_file.decrypt('') != 1: raise ValueError(N_(u'Les fichiers PDF chiffrés ne sont pas acceptés.')) pdf_file.documentInfo @@ -23,7 +30,11 @@ def fill_document_attributes_from_pdf_file(document, docfile): try: if docfile: docfile.open() - pdf_file = PdfFileReader(docfile) + try: + pdf_file = PdfFileReader(docfile) + except: + logger.exception('Invalid pdf file') + raise ValueError(N_(u'Ce fichier PDF est invalide')) if pdf_file.isEncrypted and pdf_file.decrypt('') != 1: raise ValueError(N_(u'Les fichiers PDF chiffrés ne sont pas acceptés.')) pdf_info = pdf_file.documentInfo