tabulation = 4 espaces

des broutilles

darcs-hash:20060129164916-4ec08-7f9ee868181165d56e7709d775efbcdce3ce8692.gz
This commit is contained in:
chove 2006-01-29 17:49:16 +01:00
parent 996601e1c0
commit d274832589

View file

@ -1,10 +1,12 @@
#! /usr/bin/env python
# -*- coding: iso-8859-15 -*-
#
# Class pour l'impression depuis le web par cups
# Codé par Francois
# Inspiré par le backend écrit par Benoit, Fred et Brice, inspirés par CUPSPykota
# Licence : GNU General Public Licence, version 2
"""
Class pour l'impression depuis le web par cups
Codé par Francois
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
sys.path.append('/usr/scripts/impression')
@ -16,6 +18,8 @@ duree_vie_pdf=3600
#fonction principal: impression (fichier_impression)
################################################################################
class test:
def mail(self):
return u"francois.bobot@crans.org"
@ -26,6 +30,7 @@ class test:
def save(self):
pass
################################################################################
class fichier_impression :
nom_job=''
@ -157,8 +162,7 @@ class fichier_impression :
else:
options += ' -o sides=one-sided'
options += ' -o HPColorasGray=%s' % (not self.couleur)
(status,rep) = commands.getstatusoutput("lpr %s %s" % (options,
self.nom_fichier_pdf))
(status,rep) = commands.getstatusoutput("lpr %s %s" % (options, self.nom_fichier_pdf))
if status != 0:
print "<p>status:%d rep: %s</p>" % (status, rep)
@ -186,7 +190,8 @@ class fichier_impression :
def affiche_messages_html(self):
body=""
"""if self.imprime:
"""
if self.imprime:
body=string.join(map ((dico_message_laserjet.get),self.list_messages_importants))
if len(self.list_messages)<>0:
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 +
string.whitespace,
'_' * len(string.punctuation+string.whitespace)))
(fd_fichier_desc,
self.nom_fichier_desc) = tempfile.mkstemp(suffix='.desc',
(fd_fichier_desc, self.nom_fichier_desc) = tempfile.mkstemp(suffix='.desc',
prefix=f_nom,
dir=dossier)
os.close(fd_fichier_desc)
@ -250,8 +254,7 @@ class fichier_impression :
setattr(self,parse[0],(parse[1] == 'True'))
else:
if parse[0] in ("cout", "modif_epoch"):
setattr(self, parse[0],
float(parse[1]))
setattr(self, parse[0], float(parse[1]))
else:
self.erreur_critique = True
print '<p>ligne non parsée: %s</p>' % ligne
@ -263,8 +266,10 @@ class fichier_impression :
self.imprime = -4
# Fonction utilisé par print et str : renvoie le string canonique de l'objet
def __repr__(self):
""" renvoie le string canonique de l'objet
fonction utilisé par print et str """
dict_contraire = { 'couleur' : 'Noir et Blanc',
'transparent' : 'Normal',
'portrait': 'Paysage',
@ -299,6 +304,8 @@ class fichier_impression :
corps+="</U></td></TR>\n</TABLE>"
return corps
################################################################################
def utilisateur(user, rw):
""" Renvoie l'adherent qui imprime le job
* user est l'utilisateur (argument n°2 des paramètres passés au backend)
@ -315,9 +322,9 @@ def utilisateur(user, rw):
try:
base = crans_ldap()
if rw:
res=base.search("login=%s" % user,'w')['adherent']
res = base.search("login=%s" % user,'w')['adherent']
else:
res=base.search("login=%s" % user)['adherent']
res = base.search("login=%s" % user)['adherent']
except:
print ("ERROR: Erreur : Base LDAP non joignable\n")
sys.exit(0) # On arrete l'avant-impression ?on arrete l'imprimante?
@ -331,11 +338,17 @@ def utilisateur(user, rw):
sys.stderr.write("DEBUG: Adherent %s recupere.\n" % adherent.Nom())
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):
""" 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
"""
def cout( fic_impr):
# taille peut valoir A3 ou A4
# 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")
return float(c_total)/100