darcs-hash:20080625103626-69ccb-167df50764ff01c86ff5663acf33cf83a0a64aa9.gz
This commit is contained in:
Grgoire Dtrez 2008-06-25 12:36:26 +02:00
parent 29347796ff
commit 0f6693f646

View file

@ -1,5 +1,5 @@
#!/usr/bin/env python #!/usr/bin/env python
# -*- coding: iso-8859-15 -*- # -*- coding: utf-8 -*-
# ############################################################# # #############################################################
# .. # ..
# .... ............ ........ # .... ............ ........
@ -25,8 +25,8 @@
# Copyright (c) 2006 by www.crans.org # Copyright (c) 2006 by www.crans.org
# ############################################################# # #############################################################
""" """
Classe pour gérer l'envoie de pdf à l'imprimante. Classe pour gŽrer l'envoie de pdf ˆ l'imprimante.
Calcule le coût des options d'impression. Calcule le cožt des options d'impression.
""" """
__version__ = '1' __version__ = '1'
@ -131,8 +131,8 @@ LPR_OPTIONS = {
class FichierInvalide(Exception): class FichierInvalide(Exception):
""" """
Exception renvoyée lorsqu'un fichier ne passe pas. Exception renvoyée lorsqu'un fichier ne passe pas.
utilisée avec deux arguments : une chaîne décrivant l'erreur et une chaine avec le nom du fichier utilisée avec deux arguments : une chaîndéÃécrivant l'erreur et une chÃine avec le nom du fichier
""" """
def __str__(self): def __str__(self):
""" """
@ -171,7 +171,7 @@ class SettingsError(Exception):
class impression: class impression:
"""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 (chemin)
_fichier = "" _fichier = ""
@ -198,9 +198,9 @@ class impression:
def __init__(self, path_to_pdf, adh = None): def __init__(self, path_to_pdf, adh = None):
"""impression(path_to_pdf [, adh]) """impression(path_to_pdf [, adh])
Crée un nouvel objet impression à partir du fichier pdf pointé par path_to_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. 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ève l'exception FichierInvalide si le fichier n'existe pas ou si ce n'est pas un pdf. L<EFBFBD>ve l'exception FichierInvalide si le fichier n'existe pas ou si ce n'est pas un pdf.
""" """
self._fichier = path_to_pdf self._fichier = path_to_pdf
# on verifie que le fichier existe # on verifie que le fichier existe
@ -224,7 +224,7 @@ class impression:
"""changeSettings([keyword=value]) """changeSettings([keyword=value])
Change les parametres de l'impression, recalcule et renvoie le nouveau prix. Change les parametres de l'impression, recalcule et renvoie le nouveau prix.
Lève une exceotion SettingError si les paramètres son invalides. L<EFBFBD>ve une exceotion SettingError si les param<EFBFBD>tres son invalides.
""" """
#recalcule et renvoie le prix #recalcule et renvoie le prix
if (couleurs): if (couleurs):
@ -241,7 +241,7 @@ class impression:
if int(copies) <1: if int(copies) <1:
raise Exception raise Exception
except: except:
raise SettingsError, "Valeur incorect pour le nombre de copies" raise SettingsError, "Valeur incorecte pour le nombre de copies"
self._settings['copies'] = copies self._settings['copies'] = copies
if (recto_verso): if (recto_verso):
if recto_verso not in DISPOSITION_VALEURS_POSSIBLES: if recto_verso not in DISPOSITION_VALEURS_POSSIBLES:
@ -266,7 +266,7 @@ class impression:
def printSettings(self): def printSettings(self):
"""printSettings() """printSettings()
Affiche les maramètres courrants sur la sortie standard Affiche les param<EFBFBD>tres courrants sur la sortie standard
""" """
print "Type impression: " + LABELS[self._settings['couleurs']] print "Type impression: " + LABELS[self._settings['couleurs']]
print "Agraphes: " + LABELS[self._settings['agraphes']] print "Agraphes: " + LABELS[self._settings['agraphes']]
@ -292,7 +292,7 @@ class impression:
def filePath(self): def filePath(self):
"""filePath() """filePath()
renvoie le chemin d'accès au fichier pdf. renvoie le chemin d'acc<EFBFBD>s au fichier pdf.
""" """
return self._fichier return self._fichier
@ -300,7 +300,7 @@ class impression:
def devisDetaille(self): def devisDetaille(self):
"""devisDetaille() """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...) (papier, encre, agrafes...)
""" """
return self._details_devis return self._details_devis
@ -308,7 +308,7 @@ class impression:
def pages(self): def pages(self):
"""pages() """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 return self._nb_pages
@ -316,10 +316,10 @@ class impression:
def imprime(self): def imprime(self):
"""imprime() """imprime()
imprime le document pdf. débite l'adhérent si adhérent il y a. 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) (si il a ŽtŽ indiquŽ ˆ l'initialisation de l'objet)
""" """
# debite l'adherent si adherent il y a # debite l'adhŽrent si adherent il y a
if (self._adh != None): if (self._adh != None):
adh = self._get_adh(self._adh) adh = self._get_adh(self._adh)
if (self._prix > (adh.solde() - DECOUVERT_AUTHORISE)): if (self._prix > (adh.solde() - DECOUVERT_AUTHORISE)):