diff --git a/intranet/modules/impression/main.py b/intranet/modules/impression/main.py index 94e751c5..a42faa3b 100644 --- a/intranet/modules/impression/main.py +++ b/intranet/modules/impression/main.py @@ -25,6 +25,9 @@ # ############################################################# import cherrypy, tempfile, shutil, os, commands, re +from re import compile +BOOK_REGEXP = compile('book.pdf') + from crans.impression.impression_canon import FichierInvalide,SoldeInsuffisant,impression import crans.impression.digicode import crans.impression.etat_imprimante @@ -32,6 +35,7 @@ import crans.cp from threading import Thread FILE_UPLOAD_BASE_FOLDER = cherrypy.config.get('fileUpload.folder', "/var/impression/fichiers/") + class FileError(Exception): pass from ClassesIntranet.ModuleBase import ModuleBase @@ -244,7 +248,8 @@ class main(ModuleBase): # exclusion des fichiers qui ne sont pas des PDF for f in liste: if commands.getoutput('file -ib %s' % commands.mk2arg(file_folder, f)) == "application/pdf": - list_pdf.append(f) + if not BOOK_REGEXP.search(f): + list_pdf.append(f) return list_pdf diff --git a/lib/impression/impression_canon.py b/lib/impression/impression_canon.py index 2efe3d48..8db18a61 100755 --- a/lib/impression/impression_canon.py +++ b/lib/impression/impression_canon.py @@ -174,12 +174,15 @@ class impression: def _pdfbook(self): - if self.taille == 'A3': - pdfbook = "pdfbook --paper a3paper %s" + if self._settings['papier'] == 'A3': + newfile = self._fichier[:-4] + '-a3book.pdf' + pdfbook = "pdfbook --paper a3paper %%s --outfile %s" % newfile else: - pdfbook = "pdfbook %s" - (status, rep) = commands.getstatusoutput(pdfbook % self._fichier) - self._fichier = "%s-book.pdf" % self.n_fichier[:-4] + newfile = self._fichier[:-4] + '-book.pdf' + pdfbook = "pdfbook %%s --outfile %s" % newfile + (status, rep) = getstatusoutput(pdfbook % self._fichier) + LOG.info("%s | rep: %s" % ((pdfbook % self._fichier), rep)) + self._fichier = newfile if status != 0: LOG.error("pdfbook status:%d | rep: %s" % (status, rep)) raise FichierInvalide, ("pdfbook: Impossible de convertir le fichier",