[impresion, intranet/impression] on relinke correctement

darcs-hash:20090518195027-bd074-77ce9fbfa381a4dd60a3cf75f2acac609e95a9e9.gz
This commit is contained in:
Antoine Durand-Gasselin 2009-05-18 21:50:27 +02:00
parent f9343f336b
commit fbd4c2426d
5 changed files with 38 additions and 25 deletions

View file

@ -5,7 +5,7 @@
Récupère, filtre et formate l'état actuel de l'imprimante 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 pass
def etat(): def etat():
exec ("etat_%s()" % impression.imprimante) exec ("a = etat_%s()" % impression.imprimante)
return a
def etat_canon(): 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: try:
liste_msg = [] msg = liste_msg = []
comm = snmp(host="imprimante.adm.crans.org", version="1", community="public") comm = snmp(host="imprimante.adm.crans.org", version="1", community="public")
for oid in [".hrPrinterStatus.1", ".hrPrinterDetectedErrorState.1"]: for oid in [".hrPrinterStatus.1", ".hrDeviceStatus.1"]:
msg = comm.get_string(oid) #".hrPrinterDetectedErrorState.1"
if msg: liste_msg.append(msg) msg.append(comm.get_string(oid))
liste_msg = [ _dico['\n'.join(msg)] ]
except Exception,err: except Exception,err:
liste_msg.append("[%s]" % unicode(err)) liste_msg.append("[%s]" % unicode(err))
return liste_msg return liste_msg
def etat_laserjet(): def etat_laserjet():

View file

@ -1,8 +1,8 @@
#! /usr/bin/env python #! /usr/bin/env python
import cherrypy, tempfile, shutil, os import cherrypy, tempfile, shutil, os, sys
import crans.impression
import crans.impression.digicode sys.path.append('/usr/scripts/impression')
import crans.cp import crans.cp, digicode
from ClassesIntranet.ModuleBase import ModuleBase from ClassesIntranet.ModuleBase import ModuleBase
@ -36,7 +36,7 @@ class main(ModuleBase):
# #
def codeList(self): def codeList(self):
try: try:
listeBrute = crans.impression.digicode.list_code() listeBrute = digicode.list_code()
liste_formatee = [] liste_formatee = []
for aCode in listeBrute: for aCode in listeBrute:
age = aCode[1] age = aCode[1]
@ -70,9 +70,9 @@ class main(ModuleBase):
raise raise
except: except:
return {'formatErreur':1} return {'formatErreur':1}
code = crans.impression.digicode.save_code(code, adherent) code = digicode.save_code(code, adherent)
else: else:
code = crans.impression.digicode.gen_code(adherent) code = digicode.gen_code(adherent)
crans.cp.log("code cree : %s" % code, 'DIGICODE') crans.cp.log("code cree : %s" % code, 'DIGICODE')
return {'code': code, "age" : "new", "desc":adherent} return {'code': code, "age" : "new", "desc":adherent}
except Exception, e: except Exception, e:

View file

@ -1,4 +1,4 @@
#import crans.impression #import digicode
<div id="globalDiv"> <div id="globalDiv">
<h1>Gestion des codes pour le local impression</h1> <h1>Gestion des codes pour le local impression</h1>

View file

@ -21,7 +21,7 @@
# #
# interface d'impression # 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 import cherrypy, tempfile, shutil, os, commands, sys
@ -30,7 +30,7 @@ import crans.cp
from threading import Thread from threading import Thread
from re import compile from re import compile
os.append('/usr/scripts/impression') sys.path.append('/usr/scripts/impression')
import digicode, etat_imprimante import digicode, etat_imprimante
from impression_canon import FichierInvalide,SoldeInsuffisant,impression from impression_canon import FichierInvalide,SoldeInsuffisant,impression
@ -93,7 +93,7 @@ class main(ModuleBase):
data['fileList'] = self.getUploadedFileListFor(cherrypy.session['uid']) data['fileList'] = self.getUploadedFileListFor(cherrypy.session['uid'])
try: try:
crans.impression.etat_imprimante.etat() etat_imprimante.etat()
except Exception, e: except Exception, e:
data['Erreur_imprimante'] = str(e).replace("\"", "\\\"") data['Erreur_imprimante'] = str(e).replace("\"", "\\\"")
data['errorMsg'] = u"Imprimante injoignable" data['errorMsg'] = u"Imprimante injoignable"
@ -147,7 +147,7 @@ class main(ModuleBase):
# #
def codeList(self): def codeList(self):
try: try:
listeBrute = crans.impression.digicode.list_code() listeBrute = digicode.list_code()
# liste de la forme : # liste de la forme :
# [(code, age, description),...] # [(code, age, description),...]
listeBrute = [item[0] for item in listeBrute if item[2] == cherrypy.session['uid']] listeBrute = [item[0] for item in listeBrute if item[2] == cherrypy.session['uid']]
@ -203,7 +203,7 @@ class main(ModuleBase):
return {"erreur":str(e)} return {"erreur":str(e)}
crans.cp.log("impression", 'IMPRESSION') crans.cp.log("impression", 'IMPRESSION')
return { 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") 'code_bat_j': cherrypy.config.get('crans.impression.codes.batJ', u"Non disponible")
} }
lancerImpression.exposed = True lancerImpression.exposed = True
@ -215,7 +215,7 @@ class main(ModuleBase):
if not cherrypy.config.get('crans.activate', True): if not cherrypy.config.get('crans.activate', True):
return {"printer_state" : u"Système down"} return {"printer_state" : u"Système down"}
try: try:
return {"printer_state" : u"\\n".join(crans.impression.etat_imprimante.etat())} return {"printer_state" : u"\\n".join(etat_imprimante.etat())}
except Exception, e: except Exception, e:
return {"printer_state" : 'Imprimante hors ligne'} return {"printer_state" : 'Imprimante hors ligne'}
etatImprimante.exposed = True etatImprimante.exposed = True

View file

@ -1,4 +1,4 @@
#import crans.impression #import impression_canon
#if $getVar('errorMsg',False) #if $getVar('errorMsg',False)
<script type="text/javascript"> <script type="text/javascript">
@ -32,14 +32,14 @@ Crans.messages.setMessage('$errorMsg.replace("\'","\\\'")', 'errorMessage')
<label for="papier" class="labelInput">Papier:</label> <label for="papier" class="labelInput">Papier:</label>
<select name="papier" id="papier" class="selectOne" onchange="Impression.settings.update(this);"> <select name="papier" id="papier" class="selectOne" onchange="Impression.settings.update(this);">
#for type_papier in ['A4', 'A3'] #for type_papier in ['A4', 'A3']
<option value="$type_papier">$crans.impression.impression_canon.DICT_PAPIER[type_papier]</option> <option value="$type_papier">$impression_canon.DICT_PAPIER[type_papier]</option>
#end for #end for
</select> </select>
<br /> <br />
<label for="agrafage" class="labelInput">Agrafes:</label> <label for="agrafage" class="labelInput">Agrafes:</label>
<select name="agrafage" id="agrafage" class="selectOne" onchange="Impression.settings.update(this);"> <select name="agrafage" id="agrafage" class="selectOne" onchange="Impression.settings.update(this);">
#for type_agrafes in $crans.impression.impression_canon.DICT_AGRAFAGE.keys() #for type_agrafes in $impression_canon.DICT_AGRAFAGE.keys()
<option value="$type_agrafes">$crans.impression.impression_canon.DICT_AGRAFAGE[type_agrafes]</option> <option value="$type_agrafes">$impression_canon.DICT_AGRAFAGE[type_agrafes]</option>
#end for #end for
</select> </select>
<br /> <br />
@ -67,7 +67,8 @@ Crans.messages.setMessage('$errorMsg.replace("\'","\\\'")', 'errorMessage')
<div class="clear bouttons"> <div class="clear bouttons">
<input type="reset" value="Reset" onclick="Impression.settings.reset();return false;" /> <input type="reset" value="Reset" onclick="Impression.settings.reset();return false;" />
<input type="button" value="Devis" onclick="window.open('devis')" /> <!-- <input type="button" value="Devis"
onclick="window.open('devis')" /> -->
<input type="button" value="Imprimer" onclick="Impression.AJAX.lancerImpression();"/> <input type="button" value="Imprimer" onclick="Impression.AJAX.lancerImpression();"/>
</div> </div>
</fieldset> </fieldset>