diff --git a/impression/couts.py b/impression/couts.py index 4d050582..2c5a82af 100755 --- a/impression/couts.py +++ b/impression/couts.py @@ -10,7 +10,7 @@ import locale locale.setlocale(locale.LC_ALL, 'fr_FR') -import commands, os, string, sys, tempfile +import commands, os, sys, tempfile sys.path.append('/usr/scripts/gestion') from config import impression @@ -127,18 +127,18 @@ class cout: # il faut stopper l'impression. return - if os.system("ls '%s'*.png > /dev/null" % (fichier)): - self.erreur=u"ERREUR : Fichier postscript invalide. Aucun png n'a été créé\n" + (status, liste) = commands.getstatusoutput("ls '%s'*.png" % fichier) + if status: + self.erreur="ERREUR : Fichier invalide. Aucun png n'a été créé.\n" else: if (mode_couleur == "Couleur"): remplissage = [0, 0, 0, 0, 0] # C, M, J, N, nombre de pages - for file in string.split(commands.getoutput("ls '%s'*.png" % (fichier)),"\n"): + for file in liste.split("\n"): resultats = commands.getoutput("/usr/scripts/impression/percentcolour '%s'" % (file) ) - l_resultats = string.split(resultats,":") + l_resultats = resultats.split(":") for i in [0, 1, 2, 3]: remplissage[i] += float(l_resultats[i])*float(l_resultats[4]) remplissage[4] += float(l_resultats[4]) - os.system("rm -f '%s'" % (file)) self.total_noir = remplissage[3] self.total_couleur = sum(remplissage[0:3]) self.faces = int(remplissage[4]) @@ -151,13 +151,12 @@ class cout: else: # Pas de couleur, malgre l'indication self.c_total = c_taille*self.pages+impression.c_tambour_noir*self.faces+cout_noir*self.total_noir else: - remplissage = [0, 0] # Noir, nombre de pages - for file in string.split(commands.getoutput("ls '%s'*.png" % (fichier)),"\n"): + remplissage = [0, 0] # Noir, nombre de pages + for file in liste.split("\n"): resultats = commands.getoutput("/usr/scripts/impression/percentblack '%s'" % (file)) - l_resultats = string.split(resultats,":") + l_resultats = resultats.split(":") remplissage[0] += float(l_resultats[0])*float(l_resultats[1]) remplissage[1] += float(l_resultats[1]) - os.system("rm -f '%s'" % (file)) self.total_noir = remplissage[0] self.faces = int(remplissage[1]) if (recto_v == "Recto"): @@ -165,14 +164,15 @@ class cout: else: self.pages = int(self.faces/2.+0.5) self.c_total = c_taille*self.pages+impression.c_tambour_noir*self.faces+cout_noir*self.total_noir + self.c_total = int(self.nb_copie*self.c_total+impression.fact+0.5) # arrondi et facture self.c_total_euros=float(self.c_total)/100 if (self.c_total < 100): self.str_cout = "%s centimes d'euros" % (self.c_total) else : self.str_cout = "%s euros" % (self.c_total_euros) - - os.system("rm -f '%s'*.png" %(fichier)) + if commands.getoutput("rm -f '%s'*.png" % fichier): + self.erreur="ERREUR : Impossible d'enlever les images.\n" def remplis_template(self,template):