[impression] maj de class_impression pour la nouvelele imprimante
Ignore-this: 5a2a03b33fa00ec84dca5fe353dd2659 darcs-hash:20090515105240-bd074-9d8f99c09b4c2f53110fa766e57ee1001205dcbb.gz
This commit is contained in:
parent
2e3f4a3239
commit
8c6816b511
3 changed files with 104 additions and 85 deletions
|
@ -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)
|
||||
|
|
|
@ -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')
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue