[impression] maj de class_impression pour la nouvelele imprimante

Ignore-this: 5a2a03b33fa00ec84dca5fe353dd2659

darcs-hash:20090515105240-bd074-9d8f99c09b4c2f53110fa766e57ee1001205dcbb.gz
This commit is contained in:
Antoine Durand-Gasselin 2009-05-15 12:52:40 +02:00
parent 2e3f4a3239
commit 8c6816b511
3 changed files with 104 additions and 85 deletions

View file

@ -8,7 +8,7 @@ Inspir
Licence : GNU General Public Licence, version 2
"""
import sys, time, tempfile, os, commands, string, random
import sys, time, tempfile, os, commands
sys.path.append('/usr/scripts/impression')
sys.path.append('/usr/scripts/gestion')
from config import impression
@ -127,7 +127,7 @@ class fichier_impression:
sys.stderr.write("ERROR: Penser a ouvrir a l'adherent debite...\n")
return
def impression_canon(self)
def impression_canon(self):
""" Envoie l'impression a l'imprimante avec les parametres actuels """
# Envoi du fichier à CUPS
options = ''
@ -497,8 +497,7 @@ def cout_canon(fic_impr):
un float dans les cas de fonctionnement
"""
# taille peut valoir A3 ou A4
# nb_copies est le nombre de copies désirées
faces = fic_impr.nbr_pages
if (fic_impr.recto_verso == False):
feuilles = faces # nb de pages par copies
@ -522,14 +521,14 @@ def cout_canon(fic_impr):
# Cout des agrafes
if fic_impr.agrafe in ["Top", "Bottom", "Left", "Right"] or fic_impr.livret:
nb_agraphes = 2
nb_agrafes = 2
elif fic_impr.agrafe in ["None", None]:
nb_agraphes = 0
nb_agrafes = 0
else:
nb_agraphes = 1
nb_agrafes = 1
if pages <= 50:
c_agrafes =fic nb_agraphes * impression.c_agrafe
c_agrafes = fic.nb_agrafes * impression.c_agrafe
else:
c_agrafes = 0
@ -637,3 +636,7 @@ def cout_laserjet(fic_impr):
sys.stderr.write("ERREUR : Impossible d'enlever le dossier.\n")
return float(c_total)/100
def cout(fic_impr):
exec ("return cout_%s(fic_impr)" % impression.imprimante)

View file

@ -5,7 +5,11 @@ import sys
sys.path.append("/usr/scripts/gestion")
import hptools
from config import impression
def etat_laserjet():
""" Renvoie une liste des differents ecrans actuels du display de l'imprimante """
liste_oid = ["mib-2.43.16.5.1.2.1.1","mib-2.43.16.5.1.2.1.2","mib-2.43.16.5.1.2.1.3","mib-2.43.16.5.1.2.1.4","mib-2.43.16.5.1.2.1.5"]
dico = {
u"PrÁt": u"Prêt",
u"Pr menus, appuy \x1e": u"",
@ -21,9 +25,6 @@ dico = {
u"MAGENTA": u"",
}
def etat():
""" Renvoie une liste des differents ecrans actuels du display de l'imprimante """
liste_oid = ["mib-2.43.16.5.1.2.1.1","mib-2.43.16.5.1.2.1.2","mib-2.43.16.5.1.2.1.3","mib-2.43.16.5.1.2.1.4","mib-2.43.16.5.1.2.1.5"]
try:
comm = hptools.snmp(host="laserjet.adm.crans.org",version="1",community="public")
liste_msg = []
@ -35,6 +36,21 @@ def etat():
liste_msg.append("[%s]" % unicode(err))
return liste_msg
def etat_canon():
try:
liste_msg = []
comm = hptools.snmp(host="imprimante.adm.crans.org", version="1", community="public")
for i in [".hrPrinterStatus.1"; ".hrPrinterDetectedErrorState.1"]:
msg = comm.get_string(oid)
msg = dico.get(msg, msg)
if msg: liste_msg.append(msg)
except Exception,err:
liste_msg.append("[%s]" % unicode(err))
return liste_msg
def etat():
exec ("etat_%()" % impression.imprimante)
def enregistre(filename="/usr/script/impression/imprimante.etat"):
l = etat()
fichier = open(filename,'w')