scripts/lib/impression/etat_imprimante.py
gdetrez 5f0d11ca45 L'imprimante parle anglais maintenant...
darcs-hash:20070917161416-f46e9-80942b5c9990feb4bbab4c398ce18a6b686f8624.gz
2007-09-17 18:14:16 +02:00

60 lines
1.8 KiB
Python
Executable file

#!/usr/bin/env python
# -*- coding: iso-8859-15 -*-
"""
etat_imprimante.py
Récupère, filtre et formate l'état actuel de l'imprimante
Copyright (c) 2006 by www.crans.org
"""
import sys
sys.path.append("/usr/scripts/gestion")
import hptools
_dico = {
u"READY": u"Prête",
u"PrÁt": u"Prêt",
u"Pr menus, appuy \x1e": u"",
u"Powersave activÅ": u"En veille",
u"Verification": u"Vérification imprimante",
u"imprimante": u"",
u"PrÅchauffage": u"Préchauffage",
u"Traitement de la": u"Impression en cours",
u"tÀche du bac 4": u"",
u"COMMANDER CARTOUCHE": u"",
u"COMMANDER KIT NETTOY": u"",
u"COMMANDER FOURNIT.": u"",
u"CYAN": u"",
u"MAGENTA": u"",
u"JAUNE": u"",
u"NOIR": u"",
u'Pr aide appuyer \x1f': u"",
u'13.12.12 BOURRAGE DS':u"Bourrage papier",
u'ACCESSOIRE GAUCHE':u"",
u'13.03.00 BOURRAGE':u"Bourrage papier",
u'DS TRAPPE SUP DROITE':u"",
u'COMM TAMB. NOIR':u"",
u'PAGES REST.': u"",
}
class ErreurCommunication(Exception):
"""Si une erreur est survenue lors de la communication avec l'imprimante"""
pass
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 = []
for oid in liste_oid:
msg = comm.get_string(oid).decode("ISO-8859-1")
for k in _dico.keys():
if k in msg: msg = _dico[k]
if msg: liste_msg.append(msg)
except Exception,err:
raise ErreurCommunication, str(err)
return liste_msg