Gnralisation de l'utilisation de cprint, on abandonne unicode_print qui

fait la mme chose en moins bien.

darcs-hash:20060404020734-68412-5c82c3320f0da1c19d7dbea758cc56f0798adf34.gz
This commit is contained in:
glondu 2006-04-04 04:07:34 +02:00
parent 496ad05751
commit 41418a4c14

View file

@ -59,10 +59,6 @@ limit_aff_details = 1
limit_aff_historique = 4
aff_ipsec = 0
def unicode_print(truc) :
""" Conversion de truc en iso-8859-15 puis affichage à l'écran """
print truc.encode('iso-8859-15','ignore')
def aff(qqch,mtech=0) :
""" Affichage de qqch.
qqch peut être une liste d'instances des classes adhérent ou machine
@ -79,25 +75,29 @@ def aff(qqch,mtech=0) :
if len(qqch) > limit_aff_details :
t = qqch[0].idn
if t == 'aid' :
unicode_print(adhers_brief(qqch))
elif t == 'mid' :
if mtech : unicode_print(list_machines(qqch))
else : unicode_print(machines_brief(qqch))
elif t == 'cid' :
unicode_print(clubs_brief(qqch))
if t == 'aid':
cprint(adhers_brief(qqch))
elif t == 'mid':
if mtech:
cprint(list_machines(qqch))
else:
cprint(machines_brief(qqch))
elif t == 'cid':
cprint(clubs_brief(qqch))
else :
i = 0
for c in qqch :
t = c.idn
if i : print coul(u'='*80,'cyan')
if i: cprint(u'='*80, 'cyan')
i = 1
if t == 'aid' : unicode_print(adher_details(c))
elif t == 'mid' :
unicode_print(machine_details(c))
elif t == 'cid' : unicode_print(club_details(c))
if t == 'aid':
cprint(adher_details(c).strip())
elif t == 'mid':
cprint(machine_details(c).strip())
elif t == 'cid':
cprint(club_details(c).strip())
if len(qqch) > 1:
print u"Total: %d" % len(qqch)
cprint(u"Total: %d" % len(qqch))
def adhers_brief(adhers) :
"""
@ -866,7 +866,7 @@ def prise_etat(chbre) :
def __usage_brief(err='') :
""" Message d'erreur """
if err : cprint(err,'gras')
print u"Pour obtenir de l'aide sur l'utilisation de ce programme utilisez l'option -h"
cprint(u"Pour obtenir de l'aide sur l'utilisation de ce programme utilisez l'option -h")
sys.exit(2)
def __usage() :
@ -912,10 +912,10 @@ def __usage() :
# Dernière ligne
liste.append(accu)
print __doc__ % { 'prog' : sys.argv[0].split('/')[-1].split('.')[0] ,
'champs_rech' : '\n'.join(liste) ,
'limit_aff_details' : limit_aff_details ,
'limit_aff_historique' : limit_aff_historique }
cprint(__doc__ % { 'prog': sys.argv[0].split('/')[-1].split('.')[0],
'champs_rech': '\n'.join(liste),
'limit_aff_details': limit_aff_details,
'limit_aff_historique': limit_aff_historique })
sys.exit(0)
def __recherche() :
@ -960,20 +960,20 @@ def __recherche() :
__usage_brief('Valeur du paramètre %s incorecte (doit être un entier positif)' % opt)
elif opt in [ '-a', '--adherent' ] :
only_adh = 1
print "Affichage limité aux adhérents."
cprint(u"Affichage limité aux adhérents.")
elif opt in [ '-m', '--machine' ] :
only_mac = 1
print "Affichage limité aux machines."
cprint(u"Affichage limité aux machines.")
elif opt in [ '-c', '--club' ] :
only_club = 1
print "Affichage limité aux clubs."
cprint(u"Affichage limité aux clubs.")
elif opt == '--crans' :
only_crans = 1
mtech = 1
print "Affichage limité aux machines du crans."
cprint(u"Affichage limité aux machines du crans.")
elif opt in [ '-b', '--bornes' ] :
only_bornes = 1
print "Affichage limité aux bornes wifi."
cprint(u"Affichage limité aux bornes wifi.")
# On va tenter de limiter un peu la recherche
if not arg :
# Recherche initiale sans critère
@ -1007,11 +1007,11 @@ def __recherche() :
if chbre:
if len(chbre) != 1 :
print u"Prise correspondante à plusieurs chambres %s " % ' '.join(chbre)
cprint(u"Prise correspondante à plusieurs chambres %s" % ' '.join(chbre))
return
# On fait la recherche sur la chambre
chbre= prise[0] + chbre[0]
#print u"Recherche sur chambre %s" % chbre
#cprint(u"Recherche sur chambre %s" % chbre)
arg = 'chbre=%s' % chbre
# sinon on ne fait rien et on recherche sur le champ prise
@ -1033,18 +1033,18 @@ def __recherche() :
if arg.count('=') == 1 and arg.split('=')[0] == 'chbre' :
# Affichage des infos de la chambre
chbre = arg.split('=')[1]
print u"Chambre %s inoccupée ou invalide (%s)" % (chbre,prise_etat(chbre))
cprint(u"Chambre %s inoccupée ou invalide (%s)" % (chbre,prise_etat(chbre)))
else :
print u"Aucun résultat trouvé."
cprint(u"Aucun résultat trouvé.")
sys.exit(3)
# L'affichage souhaité a été précisé ?
elif only_bornes :
if not res['machine'] :
print 'Aucun résultat à afficher'
cprint(u'Aucun résultat à afficher')
sys.exit(4)
else :
if len(res['machine']) > limit_aff_details :
unicode_print(list_bornes(res['machine']))
cprint(list_bornes(res['machine']))
else :
aff(res['machine'])
elif only_adh :
@ -1058,11 +1058,11 @@ def __recherche() :
traite.append(a.id())
to_aff.append(m.proprietaire())
if not(to_aff) :
print 'Aucun résultat à afficher'
cprint(u'Aucun résultat à afficher')
sys.exit(4)
aff(to_aff)
elif res['club'] :
print 'Aucun résultat à afficher'
cprint(u'Aucun résultat à afficher')
sys.exit(4)
elif only_mac :
if res['machine'] : aff(res['machine'],mtech)
@ -1083,22 +1083,22 @@ def __recherche() :
traite.append(a.id())
to_aff.append(m.proprietaire())
if not(to_aff) :
print 'Aucun résultat à afficher'
cprint(u'Aucun résultat à afficher')
sys.exit(4)
aff(to_aff)
elif res['adherent'] :
print 'Aucun résultat à afficher'
cprint(u'Aucun résultat à afficher')
sys.exit(4)
# Non : on affiche tout.
else :
if res['adherent'] :
cprint("Résultats trouvés parmi les adhérents :",'cyan')
cprint(u"Résultats trouvés parmi les adhérents :", 'cyan')
aff(res['adherent'])
if res['machine'] :
cprint("Résultats trouvés parmi les machines :",'cyan')
cprint(u"Résultats trouvés parmi les machines :", 'cyan')
aff(res['machine'],mtech)
if res['club']:
cprint("Résultats trouvés parmi les clubs :",'cyan')
cprint(u"Résultats trouvés parmi les clubs :", 'cyan')
aff(res['club'])
if __name__ == '__main__' :
@ -1112,19 +1112,20 @@ if __name__ == '__main__' :
try :
__recherche()
except KeyboardInterrupt :
print "Recherche interrompue par l'utilisateur."
cprint(u"Recherche interrompue par l'utilisateur.")
sys.exit(255)
except SystemExit, c :
# Fin
sys.exit(c)
except :
print """Une erreur fatale s'est produite durant l'exécution.
cprint(u"""Une erreur fatale s'est produite durant l'exécution.
Pour l'amélioration de ce programme merci de prévenir nounou en spécifiant la
marche à suivre pour reproduire cette erreur."""
marche à suivre pour reproduire cette erreur.""")
if debug :
print '-'*40
print 'Détails techniques :'
cprint('-'*40)
cprint(u'Détails techniques :')
import traceback
# On veut le traceback sur la sortie standard
sys.stderr = sys.stdout
traceback.print_exc()
sys.exit(1)