From bf6da9a335adda108fbc35f8165766f1d906ce00 Mon Sep 17 00:00:00 2001 From: Daniel STAN Date: Wed, 10 Sep 2014 22:53:29 +0200 Subject: [PATCH] impression: factorisation des exceptions --- gestion/config/impression.py | 1 - impression/base.py | 39 +++++++++++++++++++++++++++++++++ impression/impression_canon.py | 40 +--------------------------------- 3 files changed, 40 insertions(+), 40 deletions(-) create mode 100644 impression/base.py diff --git a/gestion/config/impression.py b/gestion/config/impression.py index d9134d91..baf62149 100644 --- a/gestion/config/impression.py +++ b/gestion/config/impression.py @@ -36,7 +36,6 @@ c_face_couleur = 6.84 + amm #: Coût d'impression d'une face en noir & blanc c_face_nb = 0.65 + amm - #: Prix d'une agrafe : 200 euros les 15 000 c_agrafe = 1.3333 diff --git a/impression/base.py b/impression/base.py new file mode 100644 index 00000000..0f992e04 --- /dev/null +++ b/impression/base.py @@ -0,0 +1,39 @@ +# -*- coding: utf-8 -*- +class FichierInvalide(Exception): + """ + Exception renvoyée lorsqu'un fichier ne passe pas. + utilisée avec deux arguments : une chaîne décrivant l'erreur et une chaîne avec le nom du fichier + """ + def __str__(self): + """ + Description de l'erreur. + """ + return self.args[0] + def file(self): + """ + Nom du fichier qui pose problème + """ + try: + return self.args[1] + except: + return "n/a" + +class SoldeInsuffisant(Exception): + """ + Solde insuffisant pour l'impression demandée + """ + pass +class PrintError(Exception): + """ + Erreur lors de l'impression + """ + pass +class SettingsError(Exception): + """ + Erreur de paramètres. + """ + pass +# ######################################################## # +# ERREURS # +# ######################################################## # +# diff --git a/impression/impression_canon.py b/impression/impression_canon.py index 293abe6d..cd870bc8 100644 --- a/impression/impression_canon.py +++ b/impression/impression_canon.py @@ -37,6 +37,7 @@ from commands import getstatusoutput sys.path.append('/usr/scripts/') from cranslib.utils import logs from subprocess import Popen, PIPE +from base import FichierInvalide, SoldeInsuffisant, PrintError, SettingsError # ######################################################## # # CONSTANTES # @@ -88,45 +89,6 @@ DICT_PAPIER = { 'A4' : "Papier A4 ordinaire", #'A4tr' : "Transparent A4", } -# ######################################################## # -# ERREURS # -# ######################################################## # -# - -class FichierInvalide(Exception): - """ - Exception renvoyée lorsqu'un fichier ne passe pas. - utilisée avec deux arguments : une chaîne décrivant l'erreur et une chaîne avec le nom du fichier - """ - def __str__(self): - """ - Description de l'erreur. - """ - return self.args[0] - def file(self): - """ - Nom du fichier qui pose problème - """ - try: - return self.args[1] - except: - return "n/a" - -class SoldeInsuffisant(Exception): - """ - Solde insuffisant pour l'impression demandée - """ - pass -class PrintError(Exception): - """ - Erreur lors de l'impression - """ - pass -class SettingsError(Exception): - """ - Erreur de paramètres. - """ - pass def _uniq_jid(): """ Alloue un jid unique """ fname = '/var/impression/jid'