tabulation = 4 espaces
des broutilles darcs-hash:20060129164916-4ec08-7f9ee868181165d56e7709d775efbcdce3ce8692.gz
This commit is contained in:
parent
996601e1c0
commit
d274832589
1 changed files with 291 additions and 280 deletions
|
@ -1,10 +1,12 @@
|
||||||
#! /usr/bin/env python
|
#! /usr/bin/env python
|
||||||
# -*- coding: iso-8859-15 -*-
|
# -*- coding: iso-8859-15 -*-
|
||||||
#
|
|
||||||
# Class pour l'impression depuis le web par cups
|
"""
|
||||||
# Codé par Francois
|
Class pour l'impression depuis le web par cups
|
||||||
# Inspiré par le backend écrit par Benoit, Fred et Brice, inspirés par CUPSPykota
|
Codé par Francois
|
||||||
# Licence : GNU General Public Licence, version 2
|
Inspiré par le backend écrit par Benoit, Fred et Brice, inspirés par CUPSPykota
|
||||||
|
Licence : GNU General Public Licence, version 2
|
||||||
|
"""
|
||||||
|
|
||||||
import sys, time, tempfile, os, commands, string, random
|
import sys, time, tempfile, os, commands, string, random
|
||||||
sys.path.append('/usr/scripts/impression')
|
sys.path.append('/usr/scripts/impression')
|
||||||
|
@ -16,6 +18,8 @@ duree_vie_pdf=3600
|
||||||
|
|
||||||
#fonction principal: impression (fichier_impression)
|
#fonction principal: impression (fichier_impression)
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
|
||||||
class test:
|
class test:
|
||||||
def mail(self):
|
def mail(self):
|
||||||
return u"francois.bobot@crans.org"
|
return u"francois.bobot@crans.org"
|
||||||
|
@ -26,6 +30,7 @@ class test:
|
||||||
def save(self):
|
def save(self):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
|
||||||
class fichier_impression :
|
class fichier_impression :
|
||||||
nom_job=''
|
nom_job=''
|
||||||
|
@ -157,8 +162,7 @@ class fichier_impression :
|
||||||
else:
|
else:
|
||||||
options += ' -o sides=one-sided'
|
options += ' -o sides=one-sided'
|
||||||
options += ' -o HPColorasGray=%s' % (not self.couleur)
|
options += ' -o HPColorasGray=%s' % (not self.couleur)
|
||||||
(status,rep) = commands.getstatusoutput("lpr %s %s" % (options,
|
(status,rep) = commands.getstatusoutput("lpr %s %s" % (options, self.nom_fichier_pdf))
|
||||||
self.nom_fichier_pdf))
|
|
||||||
if status != 0:
|
if status != 0:
|
||||||
print "<p>status:%d rep: %s</p>" % (status, rep)
|
print "<p>status:%d rep: %s</p>" % (status, rep)
|
||||||
|
|
||||||
|
@ -186,7 +190,8 @@ class fichier_impression :
|
||||||
def affiche_messages_html(self):
|
def affiche_messages_html(self):
|
||||||
body=""
|
body=""
|
||||||
|
|
||||||
"""if self.imprime:
|
"""
|
||||||
|
if self.imprime:
|
||||||
body=string.join(map ((dico_message_laserjet.get),self.list_messages_importants))
|
body=string.join(map ((dico_message_laserjet.get),self.list_messages_importants))
|
||||||
if len(self.list_messages)<>0:
|
if len(self.list_messages)<>0:
|
||||||
body=body+'\nRemarques:\n'+string.join(map ((dico_message_laserjet.get),self.list_messages))
|
body=body+'\nRemarques:\n'+string.join(map ((dico_message_laserjet.get),self.list_messages))
|
||||||
|
@ -203,8 +208,7 @@ class fichier_impression :
|
||||||
f_nom = f_nom.translate(string.maketrans(string.punctuation +
|
f_nom = f_nom.translate(string.maketrans(string.punctuation +
|
||||||
string.whitespace,
|
string.whitespace,
|
||||||
'_' * len(string.punctuation+string.whitespace)))
|
'_' * len(string.punctuation+string.whitespace)))
|
||||||
(fd_fichier_desc,
|
(fd_fichier_desc, self.nom_fichier_desc) = tempfile.mkstemp(suffix='.desc',
|
||||||
self.nom_fichier_desc) = tempfile.mkstemp(suffix='.desc',
|
|
||||||
prefix=f_nom,
|
prefix=f_nom,
|
||||||
dir=dossier)
|
dir=dossier)
|
||||||
os.close(fd_fichier_desc)
|
os.close(fd_fichier_desc)
|
||||||
|
@ -250,8 +254,7 @@ class fichier_impression :
|
||||||
setattr(self,parse[0],(parse[1] == 'True'))
|
setattr(self,parse[0],(parse[1] == 'True'))
|
||||||
else:
|
else:
|
||||||
if parse[0] in ("cout", "modif_epoch"):
|
if parse[0] in ("cout", "modif_epoch"):
|
||||||
setattr(self, parse[0],
|
setattr(self, parse[0], float(parse[1]))
|
||||||
float(parse[1]))
|
|
||||||
else:
|
else:
|
||||||
self.erreur_critique = True
|
self.erreur_critique = True
|
||||||
print '<p>ligne non parsée: %s</p>' % ligne
|
print '<p>ligne non parsée: %s</p>' % ligne
|
||||||
|
@ -263,8 +266,10 @@ class fichier_impression :
|
||||||
self.imprime = -4
|
self.imprime = -4
|
||||||
|
|
||||||
|
|
||||||
# Fonction utilisé par print et str : renvoie le string canonique de l'objet
|
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
|
""" renvoie le string canonique de l'objet
|
||||||
|
fonction utilisé par print et str """
|
||||||
|
|
||||||
dict_contraire = { 'couleur' : 'Noir et Blanc',
|
dict_contraire = { 'couleur' : 'Noir et Blanc',
|
||||||
'transparent' : 'Normal',
|
'transparent' : 'Normal',
|
||||||
'portrait': 'Paysage',
|
'portrait': 'Paysage',
|
||||||
|
@ -299,6 +304,8 @@ class fichier_impression :
|
||||||
corps+="</U></td></TR>\n</TABLE>"
|
corps+="</U></td></TR>\n</TABLE>"
|
||||||
return corps
|
return corps
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
|
||||||
def utilisateur(user, rw):
|
def utilisateur(user, rw):
|
||||||
""" Renvoie l'adherent qui imprime le job
|
""" Renvoie l'adherent qui imprime le job
|
||||||
* user est l'utilisateur (argument n°2 des paramètres passés au backend)
|
* user est l'utilisateur (argument n°2 des paramètres passés au backend)
|
||||||
|
@ -331,11 +338,17 @@ def utilisateur(user, rw):
|
||||||
sys.stderr.write("DEBUG: Adherent %s recupere.\n" % adherent.Nom())
|
sys.stderr.write("DEBUG: Adherent %s recupere.\n" % adherent.Nom())
|
||||||
return adherent
|
return adherent
|
||||||
|
|
||||||
#fonction cout calcule le pourcentage de couleur sur les pages
|
################################################################################
|
||||||
# renvoit un string avec le nom de l'erreur si erreur il y a
|
|
||||||
#renvoit un float dans les cas de fonctionnement...
|
|
||||||
|
|
||||||
def cout(fic_impr):
|
def cout(fic_impr):
|
||||||
|
""" Calcule le pourcentage de couleur sur les pages
|
||||||
|
fic_impr est une instance de fichier_impression
|
||||||
|
retourn :
|
||||||
|
un string avec le nom de l'erreur si erreur il y a
|
||||||
|
un float dans les cas de fonctionnement
|
||||||
|
"""
|
||||||
|
|
||||||
# taille peut valoir A3 ou A4
|
# taille peut valoir A3 ou A4
|
||||||
# nb_copie est le nombre de copies désirées
|
# nb_copie est le nombre de copies désirées
|
||||||
|
|
||||||
|
@ -418,5 +431,3 @@ def cout( fic_impr):
|
||||||
sys.stderr.write("ERREUR : Impossible d'enlever le dossier.\n")
|
sys.stderr.write("ERREUR : Impossible d'enlever le dossier.\n")
|
||||||
|
|
||||||
return float(c_total)/100
|
return float(c_total)/100
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue