parent
db9ff766f4
commit
28243bf147
|
@ -89,7 +89,7 @@ class DocumentUploadForm(BaseModelForm):
|
|||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(DocumentUploadForm, self).__init__(*args, **kwargs)
|
||||
self.fields['uploadfile'].label = _(u'Document, en format PDF')
|
||||
self.fields['uploadfile'].label = _(u'Document')
|
||||
self.fields['uploadfile'].help_text = _(u'Taille maximum autorisée: %s.') % \
|
||||
filesizeformat(app_settings.MAX_DOCUMENT_SIZE)
|
||||
|
||||
|
|
|
@ -8,6 +8,8 @@ logger = logging.getLogger(__name__)
|
|||
from pyPdf import PdfFileReader
|
||||
from pyPdf.utils import PyPdfError
|
||||
|
||||
import magic
|
||||
|
||||
from ..base.models import Request
|
||||
from ..utils import cache_to_django
|
||||
|
||||
|
@ -27,9 +29,13 @@ def check_pdf(filelike):
|
|||
raise ValueError(N_(u"Vous ne pouvez envoyer que des fichiers PDF."))
|
||||
|
||||
def fill_document_attributes_from_pdf_file(document, docfile):
|
||||
if not docfile:
|
||||
return
|
||||
try:
|
||||
if docfile:
|
||||
docfile.open()
|
||||
mime_type = magic.from_buffer(docfile.read(), mime=True)
|
||||
docfile.seek(0)
|
||||
if mime_type == 'application/pdf':
|
||||
try:
|
||||
pdf_file = PdfFileReader(docfile)
|
||||
except:
|
||||
|
@ -43,6 +49,9 @@ def fill_document_attributes_from_pdf_file(document, docfile):
|
|||
titles = filter(None, [pdf_info.title, pdf_info.subject])
|
||||
document.name = u' - '.join(titles)[:60]
|
||||
document.nb_pages = pdf_file.numPages or 0
|
||||
if mime_type == 'image/jpeg':
|
||||
return
|
||||
raise ValueError(N_(u"Ce type de fichier n'est pas accepté"))
|
||||
except PyPdfError:
|
||||
raise ValueError(N_(u"Vous ne pouvez envoyer que des fichiers PDF."))
|
||||
|
||||
|
|
|
@ -13,3 +13,4 @@ django-ajax-selects==1.2.5
|
|||
-f https://repos.entrouvert.org/python-entrouvert.git/
|
||||
python-entrouvert
|
||||
raven
|
||||
python-magic
|
||||
|
|
Reference in New Issue