Inutile de regarder les arguments, les options sont dans le postscript.
darcs-hash:20050708093415-061a7-571cfdc60a0e7233b69b7cb0c1638e59585b3a4b.gz
This commit is contained in:
parent
666af63770
commit
5943070bd1
1 changed files with 11 additions and 19 deletions
|
@ -28,7 +28,7 @@ def preliminaires(arguments, description):
|
||||||
|
|
||||||
if len(arguments) not in (6, 7) :
|
if len(arguments) not in (6, 7) :
|
||||||
sys.stderr.write("ERROR: %s job-id user title copies options [file]\n" % arguments[0])
|
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 :
|
if arguments[-1].find('/') != -1 :
|
||||||
try:
|
try:
|
||||||
|
@ -38,13 +38,13 @@ def preliminaires(arguments, description):
|
||||||
# Des fois les options contiennent un / ...
|
# Des fois les options contiennent un / ...
|
||||||
entree = sys.stdin
|
entree = sys.stdin
|
||||||
else :
|
else :
|
||||||
# Lecture sur entree standard
|
# Lecture sur entrée standard
|
||||||
entree = sys.stdin
|
entree = sys.stdin
|
||||||
|
|
||||||
## On nettoie le fichier :
|
## On nettoie le fichier :
|
||||||
fic = tempfile.NamedTemporaryFile()
|
fic = tempfile.NamedTemporaryFile()
|
||||||
ligne = entree.readline()
|
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:
|
while ligne:
|
||||||
# On ne choisit pas le bac de sortie
|
# On ne choisit pas le bac de sortie
|
||||||
if ligne.find('%%BeginFeature: *OutputBin') != -1:
|
if ligne.find('%%BeginFeature: *OutputBin') != -1:
|
||||||
|
@ -101,11 +101,8 @@ def utilisateur(user, rw):
|
||||||
return adherent
|
return adherent
|
||||||
|
|
||||||
|
|
||||||
def calcul_prix(nom_fic, arguments):
|
def calcul_prix(nom_fic):
|
||||||
"""Calcul le prix d'une impression
|
"""Calcul le prix du fichier nom_fic"""
|
||||||
* nom_fic est le nom du fichier à imprimmer
|
|
||||||
* arguments argv du backend
|
|
||||||
"""
|
|
||||||
|
|
||||||
## #Temporaire pour debugage
|
## #Temporaire pour debugage
|
||||||
## fs=open(nom_fic,'r')
|
## fs=open(nom_fic,'r')
|
||||||
|
@ -120,26 +117,21 @@ def calcul_prix(nom_fic, arguments):
|
||||||
|
|
||||||
# Calcul du cout de l'impression :
|
# Calcul du cout de l'impression :
|
||||||
try:
|
try:
|
||||||
if "media=transparency" in arguments or "InputSlot=Transparency" in arguments:
|
prix = couts.cout(nom_fic)
|
||||||
prix = couts.cout(nom_fic, "transparent")
|
|
||||||
else:
|
|
||||||
prix = couts.cout(nom_fic, "")
|
|
||||||
|
|
||||||
except:
|
except:
|
||||||
sys.stderr.write("ERROR: Erreur : Impossible de calculer le couts de %s." % nom_fic)
|
sys.stderr.write("ERROR: Erreur : Impossible de calculer le couts de %s." % nom_fic)
|
||||||
sys.exit(1) # On arrete l'imprimante
|
sys.exit(1) # On arrete l'imprimante
|
||||||
|
|
||||||
if prix.erreur == "Taille invalide":
|
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:
|
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:
|
else:
|
||||||
sys.stderr.write("DEBUG: Prix calcule : %s euros (%s, %s).\n" % (prix.c_total_euros, prix.taille, prix.recto_v) )
|
sys.stderr.write("DEBUG: Prix calcule : %s euros (%s, %s).\n" % (prix.c_total_euros, prix.taille, prix.recto_v) )
|
||||||
|
|
||||||
return prix
|
return prix
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def send_email(sender, recipient, subject, body):
|
def send_email(sender, recipient, subject, body):
|
||||||
"""Send an email.
|
"""Send an email.
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue