From fbd4c2426d22ef16d6afe2c13523ad52b2c33611 Mon Sep 17 00:00:00 2001 From: Antoine Durand-Gasselin Date: Mon, 18 May 2009 21:50:27 +0200 Subject: [PATCH] [impresion, intranet/impression] on relinke correctement darcs-hash:20090518195027-bd074-77ce9fbfa381a4dd60a3cf75f2acac609e95a9e9.gz --- impression/etat_imprimante.py | 24 ++++++++++++++----- intranet/modules/digicode/main.py | 14 +++++------ .../modules/digicode/templates/digicode.tmpl | 2 +- intranet/modules/impression/main.py | 12 +++++----- .../impression/templates/impression.tmpl | 11 +++++---- 5 files changed, 38 insertions(+), 25 deletions(-) diff --git a/impression/etat_imprimante.py b/impression/etat_imprimante.py index 35eda99c..302114f1 100644 --- a/impression/etat_imprimante.py +++ b/impression/etat_imprimante.py @@ -5,7 +5,7 @@ Récupère, filtre et formate l'état actuel de l'imprimante - Copyright (c) 2006 by www.crans.org + Copyright (c) 2006, 2007, 2008, 2009 by Cr@ns (http://www.crans.org) """ @@ -20,17 +20,29 @@ class ErreurCommunication(Exception): pass def etat(): - exec ("etat_%s()" % impression.imprimante) + exec ("a = etat_%s()" % impression.imprimante) + return a def etat_canon(): + _dico = { + 'idle(3)\nrunning(2)' : u'Pas configuré comme une imprimante', + 'printing(4)\nrunning(2)' : u'Impression en cours', + 'other(1)\ndown(5)' : u"Erreur [grave] de l'imprimante", + 'other(1)\nrunning(2)' : u'Imprimante en veille', + 'warmup(5)\nrunning(2)' : u'Imprimante en attente', + 'idle(3)\nwarning(3)' : u'Warning: ne fonctionne pas', + 'printing(4)\nwarning(3)' : u'Warning: imprime (mais warning)', + } try: - liste_msg = [] + msg = liste_msg = [] comm = snmp(host="imprimante.adm.crans.org", version="1", community="public") - for oid in [".hrPrinterStatus.1", ".hrPrinterDetectedErrorState.1"]: - msg = comm.get_string(oid) - if msg: liste_msg.append(msg) + for oid in [".hrPrinterStatus.1", ".hrDeviceStatus.1"]: + #".hrPrinterDetectedErrorState.1" + msg.append(comm.get_string(oid)) + liste_msg = [ _dico['\n'.join(msg)] ] except Exception,err: liste_msg.append("[%s]" % unicode(err)) + return liste_msg def etat_laserjet(): diff --git a/intranet/modules/digicode/main.py b/intranet/modules/digicode/main.py index fd1217ca..2d9da1f5 100644 --- a/intranet/modules/digicode/main.py +++ b/intranet/modules/digicode/main.py @@ -1,8 +1,8 @@ #! /usr/bin/env python -import cherrypy, tempfile, shutil, os -import crans.impression -import crans.impression.digicode -import crans.cp +import cherrypy, tempfile, shutil, os, sys + +sys.path.append('/usr/scripts/impression') +import crans.cp, digicode from ClassesIntranet.ModuleBase import ModuleBase @@ -36,7 +36,7 @@ class main(ModuleBase): # def codeList(self): try: - listeBrute = crans.impression.digicode.list_code() + listeBrute = digicode.list_code() liste_formatee = [] for aCode in listeBrute: age = aCode[1] @@ -70,9 +70,9 @@ class main(ModuleBase): raise except: return {'formatErreur':1} - code = crans.impression.digicode.save_code(code, adherent) + code = digicode.save_code(code, adherent) else: - code = crans.impression.digicode.gen_code(adherent) + code = digicode.gen_code(adherent) crans.cp.log("code cree : %s" % code, 'DIGICODE') return {'code': code, "age" : "new", "desc":adherent} except Exception, e: diff --git a/intranet/modules/digicode/templates/digicode.tmpl b/intranet/modules/digicode/templates/digicode.tmpl index 33cce42f..4da22e0f 100644 --- a/intranet/modules/digicode/templates/digicode.tmpl +++ b/intranet/modules/digicode/templates/digicode.tmpl @@ -1,4 +1,4 @@ -#import crans.impression +#import digicode

Gestion des codes pour le local impression

diff --git a/intranet/modules/impression/main.py b/intranet/modules/impression/main.py index ef81d3b9..a25dbdcd 100644 --- a/intranet/modules/impression/main.py +++ b/intranet/modules/impression/main.py @@ -21,7 +21,7 @@ # # interface d'impression # -# Copyright (c) 2006 by www.crans.org +# Copyright (c) 2006, 2007, 2008, 2009 by Cr@ns (http://www.crans.org) # ############################################################# import cherrypy, tempfile, shutil, os, commands, sys @@ -30,7 +30,7 @@ import crans.cp from threading import Thread from re import compile -os.append('/usr/scripts/impression') +sys.path.append('/usr/scripts/impression') import digicode, etat_imprimante from impression_canon import FichierInvalide,SoldeInsuffisant,impression @@ -93,7 +93,7 @@ class main(ModuleBase): data['fileList'] = self.getUploadedFileListFor(cherrypy.session['uid']) try: - crans.impression.etat_imprimante.etat() + etat_imprimante.etat() except Exception, e: data['Erreur_imprimante'] = str(e).replace("\"", "\\\"") data['errorMsg'] = u"Imprimante injoignable" @@ -147,7 +147,7 @@ class main(ModuleBase): # def codeList(self): try: - listeBrute = crans.impression.digicode.list_code() + listeBrute = digicode.list_code() # liste de la forme : # [(code, age, description),...] listeBrute = [item[0] for item in listeBrute if item[2] == cherrypy.session['uid']] @@ -203,7 +203,7 @@ class main(ModuleBase): return {"erreur":str(e)} crans.cp.log("impression", 'IMPRESSION') return { - 'code':str(crans.impression.digicode.gen_code(cherrypy.session['uid'])) + "#", + 'code':str(digicode.gen_code(cherrypy.session['uid'])) + "#", 'code_bat_j': cherrypy.config.get('crans.impression.codes.batJ', u"Non disponible") } lancerImpression.exposed = True @@ -215,7 +215,7 @@ class main(ModuleBase): if not cherrypy.config.get('crans.activate', True): return {"printer_state" : u"Système down"} try: - return {"printer_state" : u"\\n".join(crans.impression.etat_imprimante.etat())} + return {"printer_state" : u"\\n".join(etat_imprimante.etat())} except Exception, e: return {"printer_state" : 'Imprimante hors ligne'} etatImprimante.exposed = True diff --git a/intranet/modules/impression/templates/impression.tmpl b/intranet/modules/impression/templates/impression.tmpl index c9396a76..038999ce 100644 --- a/intranet/modules/impression/templates/impression.tmpl +++ b/intranet/modules/impression/templates/impression.tmpl @@ -1,4 +1,4 @@ -#import crans.impression +#import impression_canon #if $getVar('errorMsg',False)