sed s/format/taille/g pour ne pas confondre le format du papier (maintenant
la taille : A3, A4) et le format du fichier (PS, PDF, ...). darcs-hash:20050702003310-061a7-c91e517dd15903ebe87c369971639bd7414214aa.gz
This commit is contained in:
parent
274bced934
commit
7282b0e33c
4 changed files with 35 additions and 35 deletions
|
@ -69,7 +69,7 @@ Il vous sera possible d'imprimer ce document sur Laserjet.
|
||||||
Voici le détail de votre devis, 100 unités correspondant à un
|
Voici le détail de votre devis, 100 unités correspondant à un
|
||||||
remplissage total d'une face A4 :
|
remplissage total d'une face A4 :
|
||||||
|
|
||||||
* Format : %(format)s
|
* Format de papier : %(taille)s
|
||||||
* Pour une copie :
|
* Pour une copie :
|
||||||
Noir : %(noir)s unités
|
Noir : %(noir)s unités
|
||||||
Couleur : %(couleur)s unités
|
Couleur : %(couleur)s unités
|
||||||
|
@ -79,7 +79,7 @@ remplissage total d'une face A4 :
|
||||||
|
|
||||||
Prix total : %(prix)s"""
|
Prix total : %(prix)s"""
|
||||||
|
|
||||||
if prix.format=="NON_VALIDE":
|
if prix.taille=="NON_VALIDE":
|
||||||
possible = u"""
|
possible = u"""
|
||||||
ATTENTION : Le format de papier que vous avez choisi n'est pas valide.
|
ATTENTION : Le format de papier que vous avez choisi n'est pas valide.
|
||||||
Il ne vous sera pas possible d'imprimer ce document sur Laserjet.
|
Il ne vous sera pas possible d'imprimer ce document sur Laserjet.
|
||||||
|
|
|
@ -41,7 +41,7 @@ if "media=transparency" in sys.argv:
|
||||||
prix = crans_backend.calcul_prix(nom_fic, "transparency")
|
prix = crans_backend.calcul_prix(nom_fic, "transparency")
|
||||||
else:
|
else:
|
||||||
prix = crans_backend.calcul_prix(nom_fic, "")
|
prix = crans_backend.calcul_prix(nom_fic, "")
|
||||||
sys.stderr.write("DEBUG: Prix : %s format %s recto-verso : %s.\n" %(prix.c_total_euros, prix.format, prix.recto_v) )
|
sys.stderr.write("DEBUG: Prix : %s taille %s recto-verso : %s.\n" %(prix.c_total_euros, prix.taille, prix.recto_v) )
|
||||||
|
|
||||||
## Préparation des mails
|
## Préparation des mails
|
||||||
|
|
||||||
|
|
|
@ -27,17 +27,17 @@ class cout:
|
||||||
faces=1
|
faces=1
|
||||||
pages=1
|
pages=1
|
||||||
nb_copie=1
|
nb_copie=1
|
||||||
format="NON_VALIDE"
|
taille="NON_VALIDE"
|
||||||
erreur=""
|
erreur=""
|
||||||
recto_v="None"
|
recto_v="None"
|
||||||
media=""
|
media=""
|
||||||
|
|
||||||
def __init__(self, fichierps, media="", mode_couleur="Couleur", recto_v="None", format="A4", nb_copie=1):
|
def __init__(self, fichierps, media="", mode_couleur="Couleur", recto_v="None", taille="A4", nb_copie=1):
|
||||||
""" * fichierps est le fichier PostScript (ou pdf) à analyser
|
""" * fichierps est le fichier PostScript (ou pdf) à analyser
|
||||||
* media vaut transparent le cas écheant (dans ce cas format=A4)
|
* media vaut transparent le cas écheant (dans ce cas taille=A4)
|
||||||
* mode_couleur = Couleur pour traiter en couleur
|
* mode_couleur = Couleur pour traiter en couleur
|
||||||
* recto_v = Recto si l'on ne desire pas un recto-verso
|
* recto_v = Recto si l'on ne desire pas un recto-verso
|
||||||
* format vaut A3 ou A4 selon le bac choisi
|
* taille vaut A3 ou A4 selon le bac choisi
|
||||||
* nb_copie est le nombre de copies désirées
|
* nb_copie est le nombre de copies désirées
|
||||||
Le PostScript a toujours priorité sur ces parametres
|
Le PostScript a toujours priorité sur ces parametres
|
||||||
"""
|
"""
|
||||||
|
@ -59,7 +59,7 @@ class cout:
|
||||||
ligne = original.readline()
|
ligne = original.readline()
|
||||||
while ligne:
|
while ligne:
|
||||||
if ligne.startswith('%%BeginFeature: *PageSize'):
|
if ligne.startswith('%%BeginFeature: *PageSize'):
|
||||||
format=ligne.split(' ')[-1].replace('\n','')
|
taille=ligne.split(' ')[-1].replace('\n','')
|
||||||
if ligne.startswith('%%BeginFeature: *Duplex'):
|
if ligne.startswith('%%BeginFeature: *Duplex'):
|
||||||
recto_v=ligne.split(' ')[-1].replace('\n','')
|
recto_v=ligne.split(' ')[-1].replace('\n','')
|
||||||
if ligne.find('%RBIBeginNonPPDFeature: *NumCopies') != -1:
|
if ligne.find('%RBIBeginNonPPDFeature: *NumCopies') != -1:
|
||||||
|
@ -76,10 +76,10 @@ class cout:
|
||||||
if nb_copie_ps:
|
if nb_copie_ps:
|
||||||
self.nb_copie=nb_copie_ps
|
self.nb_copie=nb_copie_ps
|
||||||
|
|
||||||
if format=="A4" or format=="A3":
|
if taille=="A4" or taille=="A3":
|
||||||
self.format=format
|
self.taille=taille
|
||||||
else: # format invalide
|
else: # taille invalide
|
||||||
self.erreur="Format invalide"
|
self.erreur="Erreur : Taille invalide"
|
||||||
return
|
return
|
||||||
|
|
||||||
if recto_v == "None" or recto_v == "Recto":
|
if recto_v == "None" or recto_v == "Recto":
|
||||||
|
@ -94,19 +94,19 @@ class cout:
|
||||||
else:
|
else:
|
||||||
device = "pnggray"
|
device = "pnggray"
|
||||||
|
|
||||||
if (self.format == "A3"):
|
if (self.taille == "A3"):
|
||||||
# Une feuille A3 couvre 2 fois plus de surface que A4
|
# Une feuille A3 couvre 2 fois plus de surface que A4
|
||||||
c_format = impression.c_a3
|
c_taille = impression.c_a3
|
||||||
cout_coul = 2*impression.c_coul
|
cout_coul = 2*impression.c_coul
|
||||||
cout_noir = 2*impression.c_noir
|
cout_noir = 2*impression.c_noir
|
||||||
else:
|
else:
|
||||||
cout_coul = impression.c_coul
|
cout_coul = impression.c_coul
|
||||||
cout_noir = impression.c_noir
|
cout_noir = impression.c_noir
|
||||||
if (media == "transparent"):
|
if (media == "transparent"):
|
||||||
c_format = impression.c_trans
|
c_taille = impression.c_trans
|
||||||
self.media="transparent"
|
self.media="transparent"
|
||||||
else:
|
else:
|
||||||
c_format = impression.c_a4
|
c_taille = impression.c_a4
|
||||||
|
|
||||||
# Vérification du format de fichier.
|
# Vérification du format de fichier.
|
||||||
try:
|
try:
|
||||||
|
@ -116,7 +116,7 @@ class cout:
|
||||||
return
|
return
|
||||||
# On vérifie que ce que l'on nous a envoyé est bien un PS ou un PDF
|
# On vérifie que ce que l'on nous a envoyé est bien un PS ou un PDF
|
||||||
if en_tete!='%!PS' and en_tete!='%PDF':
|
if en_tete!='%!PS' and en_tete!='%PDF':
|
||||||
self.erreur="ERREUR : Format non supporte !!"
|
self.erreur="Format de fichier non supporte"
|
||||||
return
|
return
|
||||||
|
|
||||||
(status,rep) = commands.getstatusoutput("nice -n 10 gs -sDEVICE=%s -r100 -dBATCH -dNOPAUSE -dSAFER -dPARANOIDSAFER -dGraphicsAlphaBits=4 -dTextAlphaBits=4 -dMaxBitmap=50000000 -sOutputFile='%s' -q '%s'" % (device, fichier+"%d.png", fichier) )
|
(status,rep) = commands.getstatusoutput("nice -n 10 gs -sDEVICE=%s -r100 -dBATCH -dNOPAUSE -dSAFER -dPARANOIDSAFER -dGraphicsAlphaBits=4 -dTextAlphaBits=4 -dMaxBitmap=50000000 -sOutputFile='%s' -q '%s'" % (device, fichier+"%d.png", fichier) )
|
||||||
|
@ -149,9 +149,9 @@ class cout:
|
||||||
else:
|
else:
|
||||||
self.pages = int(self.faces/2.+0.5)
|
self.pages = int(self.faces/2.+0.5)
|
||||||
if self.total_couleur > 0:
|
if self.total_couleur > 0:
|
||||||
self.c_total = c_format*self.pages+(impression.c_tambour_coul+impression.c_tambour_noir)*self.faces+cout_noir*self.total_noir+cout_coul*self.total_couleur
|
self.c_total = c_taille*self.pages+(impression.c_tambour_coul+impression.c_tambour_noir)*self.faces+cout_noir*self.total_noir+cout_coul*self.total_couleur
|
||||||
else: # Pas de couleur
|
else: # Pas de couleur
|
||||||
self.c_total = c_format*self.pages+impression.c_tambour_noir*self.faces+cout_noir*self.total_noir
|
self.c_total = c_taille*self.pages+impression.c_tambour_noir*self.faces+cout_noir*self.total_noir
|
||||||
else: # Utile pour la page web
|
else: # Utile pour la page web
|
||||||
remplissage = [0, 0] # Noir, nombre de pages
|
remplissage = [0, 0] # Noir, nombre de pages
|
||||||
for file in string.split(commands.getoutput("ls '%s'*.png" % (fichier)),"\n"):
|
for file in string.split(commands.getoutput("ls '%s'*.png" % (fichier)),"\n"):
|
||||||
|
@ -166,7 +166,7 @@ class cout:
|
||||||
self.pages = self.faces # nb de pages par copies
|
self.pages = self.faces # nb de pages par copies
|
||||||
else:
|
else:
|
||||||
self.pages = int(self.faces/2.+0.5)
|
self.pages = int(self.faces/2.+0.5)
|
||||||
self.c_total = c_format*self.pages+impression.c_tambour_noir*self.faces+cout_noir*self.total_noir
|
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 = int(self.nb_copie*self.c_total+impression.fact+0.5) # arrondi et facture
|
||||||
self.c_total_euros=float(self.c_total)/100
|
self.c_total_euros=float(self.c_total)/100
|
||||||
os.system("rm -f '%s'*.png" %(fichier))
|
os.system("rm -f '%s'*.png" %(fichier))
|
||||||
|
@ -182,17 +182,17 @@ class cout:
|
||||||
else :
|
else :
|
||||||
str_cout = "%s euros" % (self.c_total/100.)
|
str_cout = "%s euros" % (self.c_total/100.)
|
||||||
|
|
||||||
if self.format=="NON_VALIDE":
|
if self.taille=="NON_VALIDE":
|
||||||
format=u"Le format de papier que vous avez demandé n'est pas valide"
|
taille=u"Le format de papier que vous avez demandé n'est pas valide"
|
||||||
else:
|
else:
|
||||||
if self.media=="transparent":
|
if self.media=="transparent":
|
||||||
format="transparent A4"
|
taille="transparent A4"
|
||||||
else:
|
else:
|
||||||
format=self.format
|
taille=self.taille
|
||||||
try:
|
try:
|
||||||
return template % { 'prix' : str_cout }
|
return template % { 'prix' : str_cout }
|
||||||
except:
|
except:
|
||||||
return template % { 'noir' : self.total_noir, 'couleur' : self.total_couleur, 'faces' : self.faces, 'pages' : self.pages, 'copies' : self.nb_copie, 'format' : format, 'prix' : str_cout}
|
return template % { 'noir' : self.total_noir, 'couleur' : self.total_couleur, 'faces' : self.faces, 'pages' : self.pages, 'copies' : self.nb_copie, 'taille' : taille, 'prix' : str_cout}
|
||||||
|
|
||||||
|
|
||||||
def html_cout(self):
|
def html_cout(self):
|
||||||
|
@ -200,7 +200,7 @@ class cout:
|
||||||
# Format du PS (parfois different de celui choisi)
|
# Format du PS (parfois different de celui choisi)
|
||||||
# Utile pour deboguage, sera supprime apres
|
# Utile pour deboguage, sera supprime apres
|
||||||
template = """<b>Résultats : </b>
|
template = """<b>Résultats : </b>
|
||||||
<ul><li><b>Format de l'impression</b> : %(format)s </li>
|
<ul><li><b>Taille de l'impression</b> : %(taille)s </li>
|
||||||
<li><b>Pour une copie :</b>
|
<li><b>Pour une copie :</b>
|
||||||
<ul><li>Noir : %(noir)s unités </li>
|
<ul><li>Noir : %(noir)s unités </li>
|
||||||
<li>Couleur : %(couleur)s unités </li>
|
<li>Couleur : %(couleur)s unités </li>
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue