From fdd441a6ee80cf3794c63b1d8cabda4d63e4923a Mon Sep 17 00:00:00 2001 From: gdetrez Date: Fri, 20 Oct 2006 17:23:19 +0200 Subject: [PATCH] correction pour les noms de fichier. os.path ne comprend pas "\ ". J'ai entoure le nom du fichier avec des guillemets dans les commandes shell. darcs-hash:20061020152319-f46e9-5693447aa5b32a8e0415ddb78dcf8e4090ffda39.gz --- lib/impression/__init__.py | 8 ++++---- lib/impression/cout.py | 9 ++++++++- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/lib/impression/__init__.py b/lib/impression/__init__.py index 1c528713..0fb8c6d0 100644 --- a/lib/impression/__init__.py +++ b/lib/impression/__init__.py @@ -157,8 +157,8 @@ class impression: def __init__(self, path_to_pdf, adh = None): self._fichier = path_to_pdf if not os.path.isfile(path_to_pdf): - raise FichierInvalide, "Fichier invalide" - os.system("/usr/scripts/impression/compatibilise %s" % path_to_pdf) + raise FichierInvalide, "Nom de fichier invalide" + os.system("/usr/scripts/impression/compatibilise \"%s\"" % path_to_pdf) self._adh = adh @@ -324,7 +324,7 @@ class impression: options += ' -o pdf-level3' # Pour donner le titre de l'impression - options += " -T '%s'" % self._fichier + options += " -T '%s'" % self._fichier.replace(' ', '\ ') # Pour donner le login de l'adherent if (self._adh != None): @@ -357,7 +357,7 @@ class impression: options += LPR_OPTIONS[self._settings['couleurs']] - liste_nom_fichier_pdf=(' '+self._fichier)*self._settings['copies'] + liste_nom_fichier_pdf=(' "'+self._fichier + "\"")*self._settings['copies'] import commands #(status,rep) = commands.getstatusoutput("lpr %s %s" % (options, self.nom_fichier_pdf)) (status,rep) = commands.getstatusoutput("lpr %s %s" % (options, liste_nom_fichier_pdf)) diff --git a/lib/impression/cout.py b/lib/impression/cout.py index f60d9660..56d735e5 100755 --- a/lib/impression/cout.py +++ b/lib/impression/cout.py @@ -26,7 +26,7 @@ # # Copyright (c) 2006 by www.crans.org # ############################################################# -import sys, time, tempfile, os, commands, string, random +import sys, time, tempfile, os, commands, string, random, re sys.path.append('/usr/scripts/gestion') import config def __init__(): @@ -59,6 +59,9 @@ class FichierInvalide(Exception): def base_prix_couleurs(path_fichier_pdf): # nom_rep seras le dossier dans tmp ou tous les fichier créé par # convert seront entreposé + + path_fichier_pdf = re.sub(r"(?<=[^\\]) ", "\\ ", path_fichier_pdf) + nom_rep = tempfile.mkdtemp(prefix='tmpimpr') nom_png = "%s/convert.png" % nom_rep # Nom prefixe et chemin des png créé par convert @@ -103,6 +106,10 @@ def base_prix_couleurs(path_fichier_pdf): def base_prix_nb(path_fichier_pdf): # nom_rep seras le dossier dans tmp ou tous les fichier créé par # convert seront entreposé + + # on tranforme les espaces en "\ " + path_fichier_pdf = re.sub(r"(?<=[^\\]) ", "\\ ", path_fichier_pdf) + nom_rep = tempfile.mkdtemp(prefix='tmpimpr') nom_png = "%s/convert.png" % nom_rep # Nom prefixe et chemin des png créé par convert