Ajout de commentaire valide avec pydoc
darcs-hash:20060711185813-9e428-f72ed7e9cbf83f1f3129b0496e5bf5c07a069ae3.gz
This commit is contained in:
parent
4cce15b794
commit
5dc32794e4
1 changed files with 42 additions and 13 deletions
|
@ -43,6 +43,7 @@ class test:
|
|||
################################################################################
|
||||
|
||||
class fichier_impression:
|
||||
""" Interface pour la gestion d'un travaille d'impression """
|
||||
nom_job = ''
|
||||
nbr_pages = 1
|
||||
nb_copies = 1
|
||||
|
@ -52,7 +53,7 @@ class fichier_impression:
|
|||
couleur = True
|
||||
cout = 0.0
|
||||
portrait = True
|
||||
agrafe=0 #-1 : agrafe diagonale, 0 : pas d'agrafe, 1 : 1 agrafe parallele, 2: 2 agrafes, 3: 3 agrafes, 6: 6 agrafes(stitching)
|
||||
agrafe=0 #-1 : agrafe diagonale, 0 : pas d'agrafe, 1 : 1 agrafe parallele, 2: 2 agrafes, 3: 3 agrafes, 6: 6 agrafes(stitching)
|
||||
user = ""
|
||||
user_ldap = None # sera une instance de l'utilisateur dans la base ldap.
|
||||
imprime = -1 #-2 impression en suspend, -1 mise dans la file
|
||||
|
@ -73,7 +74,10 @@ class fichier_impression:
|
|||
# la référence du temps unix (+-=1970)
|
||||
job_id = None # champs pour de futures améliorations
|
||||
|
||||
|
||||
def actualise_cout(self):
|
||||
""" Actualise le champ cout
|
||||
Leve l'erreur ErreurImpression si le calcul du cout ne c'est pas bien passe """
|
||||
# Calcul du cout de l'impression :
|
||||
retour = cout(self)
|
||||
|
||||
|
@ -87,20 +91,25 @@ class fichier_impression:
|
|||
self.list_messages_admin.append('erreur_cout')
|
||||
raise ErreurImpression(retour)
|
||||
|
||||
# Repond vrai si le solde est assez élevé.
|
||||
|
||||
def test_cout(self):
|
||||
""" Repond vrai si le solde est assez élevé. """
|
||||
if self.user_ldap == None:
|
||||
self.user_ldap = utilisateur(self.user, False)
|
||||
# /!\ decouvert est négatif.
|
||||
return not (self.cout > (self.user_ldap.solde() - impression.decouvert))
|
||||
|
||||
|
||||
def fait_payer(self):
|
||||
""" Retire au solde de l'adherent la valeur de cout """
|
||||
self.user_ldap = utilisateur(self.user, True)
|
||||
self.user_ldap.solde(-self.cout, self.nom_job)
|
||||
self.user_ldap.save()
|
||||
return not (self.cout > (self.user_ldap.solde() - impression.decouvert))
|
||||
|
||||
|
||||
def gen_code(self):
|
||||
""" Genere le code et l'enregistre dans /var/impression/codes pour radius """
|
||||
# Génération du code et écriture du code
|
||||
rand=random.Random()
|
||||
# Graine automatique avec le temps
|
||||
|
@ -133,7 +142,9 @@ class fichier_impression:
|
|||
self.code = code
|
||||
self.list_messages_importants.append('code')
|
||||
|
||||
|
||||
def impression(self):
|
||||
""" Envoie l'impression a l'imprimante avec les parametres actuels """
|
||||
# Envoi du fichier à CUPS
|
||||
options =''
|
||||
# Création de la liste d'options
|
||||
|
@ -203,7 +214,9 @@ class fichier_impression:
|
|||
openlog("impression")
|
||||
syslog("lpr status:%d | rep: %s" % (status, rep))
|
||||
|
||||
|
||||
def corrige(self):
|
||||
""" Corrige les absurditees (ex transparents recto-verso) [obsolete] """
|
||||
# Trouve le nombre de pages
|
||||
self.nbr_pages = int(os.popen("pdfinfo %s | grep Pages " % (self.nom_fichier_pdf)).readline().split()[1])
|
||||
# Corrige les aberrations
|
||||
|
@ -224,7 +237,9 @@ class fichier_impression:
|
|||
self.list_messages.append("Recto_verso 1 page")
|
||||
self.recto_verso = False
|
||||
|
||||
|
||||
def affiche_messages_html(self):
|
||||
""" Creait le code html correspondant a un tableau contenant le code adequate [obsolete] """
|
||||
body = ""
|
||||
|
||||
"""
|
||||
|
@ -241,7 +256,13 @@ class fichier_impression:
|
|||
body = string.join(self.list_messages_importants)
|
||||
return "<p>%s</p>" % body
|
||||
|
||||
|
||||
def enregistre_pdf(self, f_value, f_nom, dossier):
|
||||
""" Enregistre un pdf dans le dossier dossier
|
||||
Met a jour la variable nom_fichier_pdf
|
||||
dossier = dossier de destination
|
||||
f_value = le coprs du pdf
|
||||
f_nom = obsolete (etait le prefixe du nom du fichier)"""
|
||||
openlog("impression")
|
||||
try:
|
||||
(fd_fichier_desc, self.nom_fichier_desc) = tempfile.mkstemp(suffix='.desc', prefix='job', dir=dossier)
|
||||
|
@ -260,7 +281,9 @@ class fichier_impression:
|
|||
self.nbr_pages = int(os.popen("pdfinfo '%s' | grep Pages " % (self.nom_fichier_pdf)).readline().split()[1])
|
||||
self.modif_epoch = time.time()
|
||||
|
||||
|
||||
def sauve_desc(self):
|
||||
""" Sauve les parametre du travaille d'impression dans le fichier nom_fichier_desc """
|
||||
try:
|
||||
file_obj_desc = open(self.nom_fichier_desc,'w')
|
||||
for key in ("erreur_critique", "nom_job", "nbr_pages",
|
||||
|
@ -274,7 +297,9 @@ class fichier_impression:
|
|||
except Exception, inst :
|
||||
raise ErreurImpression("class : erreur dans enregistrement du .desc %s : %s" % (self.nom_fichier_desc,str(inst)))
|
||||
|
||||
|
||||
def read_desc(self):
|
||||
""" Lit le fichier nom_fichier_desc et met a jour les variables """
|
||||
try:
|
||||
file_obj_desc = open(self.nom_fichier_desc, 'r')
|
||||
ligne = file_obj_desc.readline()[0:-1]
|
||||
|
@ -310,11 +335,12 @@ class fichier_impression:
|
|||
syslog("class : %s a disparu" % self.nom_fichier_pdf)
|
||||
|
||||
def get_attr(self,key):
|
||||
""" Fonction obsolete utilise avec cheetah """
|
||||
return getattr(self,key)
|
||||
|
||||
|
||||
def __repr__(self):
|
||||
""" renvoie le string canonique de l'objet
|
||||
fonction utilisé par print et str """
|
||||
""" Cree le code html correspondant a un tableau contenant les informations pertinentes """
|
||||
|
||||
dict_contraire = { 'couleur' : 'Noir et Blanc',
|
||||
'transparent' : 'Normal',
|
||||
|
@ -361,6 +387,9 @@ class fichier_impression:
|
|||
|
||||
################################################################################
|
||||
|
||||
# Recuperation de lobjet ldap en lecture ou ecriture de l'adherent ayant le login user
|
||||
# reprise du backend
|
||||
# Leve l'erreur ErreurImpression si l'adherent n'existe pas
|
||||
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)
|
||||
|
@ -392,7 +421,7 @@ def utilisateur(user, rw):
|
|||
|
||||
################################################################################
|
||||
|
||||
|
||||
# Fonction auxilliaire de calcul du cout, reprise directement de l'ancien backend
|
||||
def cout(fic_impr):
|
||||
""" Calcule le pourcentage de couleur sur les pages
|
||||
fic_impr est une instance de fichier_impression
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue