Inutile de regarder les arguments, les options sont dans le postscript.

darcs-hash:20050708093415-061a7-571cfdc60a0e7233b69b7cb0c1638e59585b3a4b.gz
This commit is contained in:
rozel 2005-07-08 11:34:15 +02:00
parent 666af63770
commit 5943070bd1

View file

@ -19,7 +19,7 @@ def preliminaires(arguments, description):
sinon sort sans stopper.
"""
#\x1B est le caractere d'échappement échap.
# \x1B est le caractere d'échappement échap.
UEL="\x1B%-12345X"
if len(arguments) == 1 :
@ -28,7 +28,7 @@ def preliminaires(arguments, description):
if len(arguments) not in (6, 7) :
sys.stderr.write("ERROR: %s job-id user title copies options [file]\n" % arguments[0])
sys.exit(0) # On n'arrete pas l'imprimante
sys.exit(0) # On n'arrête pas l'imprimante
if arguments[-1].find('/') != -1 :
try:
@ -38,20 +38,20 @@ def preliminaires(arguments, description):
# Des fois les options contiennent un / ...
entree = sys.stdin
else :
# Lecture sur entree standard
# Lecture sur entrée standard
entree = sys.stdin
## On nettoie le fichier :
fic = tempfile.NamedTemporaryFile()
ligne = entree.readline()
# On rends le fichier propre et on enleve les options qui nous gènent
# On enlève les options qui nous gènent et on rend le fichier propre
while ligne:
#On ne choisit pas le bac de sortie
# On ne choisit pas le bac de sortie
if ligne.find('%%BeginFeature: *OutputBin') != -1:
while ligne.find('%%EndFeature') == -1:
ligne = entree.readline()
ligne = entree.readline()
#On ne choisit pas le bac d'entree sauf si transparent
# On ne choisit pas le bac d'entree sauf si transparent
if ligne.find('%%BeginFeature: *InputSlot') != -1:
if ligne.find('Transparency') == -1:
while ligne.find('%%EndFeature') == -1:
@ -101,11 +101,8 @@ def utilisateur(user, rw):
return adherent
def calcul_prix(nom_fic, arguments):
"""Calcul le prix d'une impression
* nom_fic est le nom du fichier à imprimmer
* arguments argv du backend
"""
def calcul_prix(nom_fic):
"""Calcul le prix du fichier nom_fic"""
## #Temporaire pour debugage
## fs=open(nom_fic,'r')
@ -120,26 +117,21 @@ def calcul_prix(nom_fic, arguments):
# Calcul du cout de l'impression :
try:
if "media=transparency" in arguments or "InputSlot=Transparency" in arguments:
prix = couts.cout(nom_fic, "transparent")
else:
prix = couts.cout(nom_fic, "")
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("ERROR: Erreur de taille de papier (%s) \n" % prix.taille)
sys.stderr.write("ERROR: Erreur de taille de papier (%s).\n" % prix.taille)
elif prix.erreur:
sys.stderr.write("ERROR: Erreur du calcul du prix : %s \n" % prix.erreur)
sys.stderr.write("ERROR: Erreur du calcul du prix : %s.\n" % prix.erreur)
else:
sys.stderr.write("DEBUG: Prix calcule : %s euros (%s, %s).\n" % (prix.c_total_euros, prix.taille, prix.recto_v) )
return prix
def send_email(sender, recipient, subject, body):
"""Send an email.