[lib/impression] hack rapide pour tester la validite de ces fichiers

Ignore-this: 9b996c273bb91c0dfc39f016acde9fcc

darcs-hash:20090515113955-bd074-1919250a70a9ff14366d8ae9d9723dfbfd865502.gz
This commit is contained in:
Antoine Durand-Gasselin 2009-05-15 13:39:55 +02:00
parent 284c189c8e
commit 5eba5336fb
2 changed files with 119 additions and 117 deletions

View file

@ -25,8 +25,8 @@
# Copyright (c) 2006 by www.crans.org
# #############################################################
"""
Classe pour gŽrer l'envoie de pdf ˆ l'imprimante.
Calcule le cožt des options d'impression.
Classe pour gérer l'envoie de pdf à l'imprimante.
Calcule le coût des options d'impression.
"""
__version__ = '1'
@ -37,10 +37,10 @@ import cout
from crans.utils import QuoteForPOSIX as escapeForShell
import crans.utils.logs
log = crans.utils.logs.getFileLogger('impression')
# Début : Ajout log pour réestimer les coûts
# Début : Ajout log pour réestimer les coûts
import time
import hptools
comm = hptools.snmp(host="laserjet.adm.crans.org",version="1",community="public")
comm = hptools.snmp(host="imprimante.adm.crans.org",version="1",community="public")
# Fin
# ######################################################## #
@ -48,7 +48,7 @@ comm = hptools.snmp(host="laserjet.adm.crans.org",version="1",community="public"
# ######################################################## #
#
#
# Début : Ajout log pour réestimer les coûts
# Début : Ajout log pour réestimer les coûts
FICHIER_LOG="/var/log/log_couts/impressions"
SNMP_CAR_B_PC="enterprises.11.2.3.9.4.2.1.4.1.10.1.1.18.1.0"
@ -156,8 +156,8 @@ LPR_OPTIONS = {
class FichierInvalide(Exception):
"""
Exception renvoyée lorsqu'un fichier ne passe pas.
utilisée avec deux arguments : une chaîndéÃécrivant l'erreur et une chÃine avec le nom du fichier
Exception renvoyée lorsqu'un fichier ne passe pas.
utilisée avec deux arguments : une chaîndéÃécrivant l'erreur et une chÃine avec le nom du fichier
"""
def __str__(self):
"""
@ -166,7 +166,7 @@ class FichierInvalide(Exception):
return self.args[0]
def file(self):
"""
Nom du fichier qui pose problème
Nom du fichier qui pose problème
"""
try:
return self.args[1]
@ -175,7 +175,7 @@ class FichierInvalide(Exception):
class SoldeInsuffisant(Exception):
"""
Solde insuffisant pour l'impression demandée
Solde insuffisant pour l'impression demandée
"""
pass
class PrintError(Exception):
@ -185,7 +185,7 @@ class PrintError(Exception):
pass
class SettingsError(Exception):
"""
Erreur de paramètres.
Erreur de paramètres.
"""
pass
# ######################################################## #
@ -196,7 +196,7 @@ class SettingsError(Exception):
class impression:
"""impression
Un objet impression correspond ˆ un fichier pdf et un adhŽrent.
Un objet impression correspond ˆ un fichier pdf et un adhŽrent.
"""
# fichier (chemin)
_fichier = ""
@ -223,9 +223,11 @@ class impression:
def __init__(self, path_to_pdf, adh = None):
"""impression(path_to_pdf [, adh])
CrŽe un nouvel objet impression ˆ partir du fichier pdf pointŽ par path_to_pdf.
Si adh ext donnŽ, il peut <EFBFBD>tre soit une instance d'un objet adhŽrent de crans_ldap soit le login de l'adhŽrent.
L<EFBFBD>ve l'exception FichierInvalide si le fichier n'existe pas ou si ce n'est pas un pdf.
Crée un nouvel objet impression à partir du fichier pdf pointé
par path_to_pdf. Si adh ext donné, il peut être soit une
instance d'un objet adhérent de crans_ldap soit le login de
l'adhérent. Lève l'exception FichierInvalide si le fichier
n'existe pas ou si ce n'est pas un pdf.
"""
self._fichier = path_to_pdf
# on verifie que le fichier existe
@ -249,7 +251,7 @@ class impression:
"""changeSettings([keyword=value])
Change les parametres de l'impression, recalcule et renvoie le nouveau prix.
L<EFBFBD>ve une exceotion SettingError si les param<EFBFBD>tres son invalides.
Lève une exceotion SettingError si les paramètres son invalides.
"""
#recalcule et renvoie le prix
if (couleurs):
@ -291,7 +293,7 @@ class impression:
def printSettings(self):
"""printSettings()
Affiche les param<EFBFBD>tres courrants sur la sortie standard
Affiche les paramètres courrants sur la sortie standard
"""
print "Type impression: " + LABELS[self._settings['couleurs']]
print "Agraphes: " + LABELS[self._settings['agraphes']]
@ -317,7 +319,7 @@ class impression:
def filePath(self):
"""filePath()
renvoie le chemin d'acc<EFBFBD>s au fichier pdf.
renvoie le chemin d'accs au fichier pdf.
"""
return self._fichier
@ -325,7 +327,7 @@ class impression:
def devisDetaille(self):
"""devisDetaille()
renvoie un disctionnaire contenant le devis (intitulŽ, PU., quantitŽ) pour tous les ŽlŽments de l'impression
renvoie un disctionnaire contenant le devis (intitulé, PU., quantité) pour tous les éléments de l'impression
(papier, encre, agrafes...)
"""
return self._details_devis
@ -333,7 +335,7 @@ class impression:
def pages(self):
"""pages()
renvoie le nombre de pages du document (page au sens nombre de faces ˆ imprimer et non le nombre de feuilles)
renvoie le nombre de pages du document (page au sens nombre de faces à imprimer et non le nombre de feuilles)
"""
return self._nb_pages
@ -341,10 +343,10 @@ class impression:
def imprime(self):
"""imprime()
imprime le document pdf. dŽbite l'adhŽrent si adhŽrent il y a.
(si il a ŽtŽ indiquŽ ˆ l'initialisation de l'objet)
imprime le document pdf. débite l'adhérent si adhérent il y a.
(si il a été indiqué à l'initialisation de l'objet)
"""
# debite l'adhŽrent si adherent il y a
# debite l'adhérent si adherent il y a
if (self._adh != None):
adh = self._get_adh(self._adh)
if (self._prix > (adh.solde() - DECOUVERT_AUTHORISE)):
@ -469,7 +471,7 @@ class impression:
# options couleurs
options += LPR_OPTIONS[self._settings['couleurs']]
# Début : Ajout log pour réestimer les coûts
# Début : Ajout log pour réestimer les coûts
# Commandes snmp recuperation des etats
val_car_b_pc=int(comm.get(SNMP_CAR_B_PC))
val_car_c_pc=int(comm.get(SNMP_CAR_C_PC))
@ -501,7 +503,7 @@ class impression:
val_car_y_pr,
val_tam_b_pc,
val_tam_c_pc,
val_tam_m_pc,
Val_tam_m_pc,
val_tam_y_pc,
val_tam_b_pr,
val_tam_c_pr,