From 34f30a7420bfc98b8ac1e4da839b44395ae14a3d Mon Sep 17 00:00:00 2001 From: rozel Date: Sat, 2 Jul 2005 04:27:30 +0200 Subject: [PATCH] Toujours plus de factorisation. darcs-hash:20050702022730-061a7-d1757370b85ec211bedb4d8caa92bda9f5520ff0.gz --- impression/crans_backend.py | 36 ++++++++++++++++++++++++------------ 1 file changed, 24 insertions(+), 12 deletions(-) diff --git a/impression/crans_backend.py b/impression/crans_backend.py index be5f4555..55a037b2 100755 --- a/impression/crans_backend.py +++ b/impression/crans_backend.py @@ -96,31 +96,43 @@ def utilisateur(user, rw): sys.exit(0) # On conclue l'impression sans stopper l'imprimante adherent = res[0] + sys.stderr.write("DEBUG: Adherent %s recupere.\n" % adherent.Nom()) return adherent -def calcul_prix(nom_fic, media): +def calcul_prix(nom_fic, arguments): """Calcul le prix d'une impression * nom_fic est le nom du fichier à imprimmer - * media vaut 'transparent' si impression sur transparent + * arguments argv du backend """ ## #Temporaire pour debugage -## fs=open(nom_fic,'r') -## fd=open('/tmp/benoit_Routard','w') -## while 1: -## txt=fs.readline() -## if txt == '': -## break -## fd.write(txt) -## fs.close() -## fd.close() +## fs=open(nom_fic,'r') +## fd=open('/tmp/benoit_Routard','w') +## while 1: +## txt=fs.readline() +## if txt == '': +## break +## fd.write(txt) +## fs.close() +## fd.close() # Calcul du cout de l'impression : try: - prix = couts.cout(nom_fic, media) + if "media=transparency" in arguments: + prix = couts.cout(nom_fic, "transparent") + else: + prix = couts.cout(nom_fic, "") + except: sys.stderr.write("ERROR: Erreur : Impossible de calculer le couts de %s." % nom_fic) sys.exit(1) # On arrete l'imprimante + if prix.erreur == "Taille invalide": + sys.stderr.write("DEBUG: Erreur de taille de papier (%s) \n" % prix.taille) + elif prix.erreur: + sys.stderr.write("DEBUG: Erreur du calcul du prix : %s \n" % prix.erreur) + else: + sys.stderr.write("DEBUG: Prix calcule : %s euros (taille %s, recto_verso %s).\n" %(prix.c_total_euros, prix.taille, prix.recto_v) ) + return prix