[affich_tools, gest_crans] dialog tait moche

Maintenant les nounous peuvent utiliser des thmes plus jolis...

darcs-hash:20081012181354-bd074-f6cdb3a92f4ca07a8a748464836bdce6c8bd4621.gz
This commit is contained in:
Antoine Durand-Gasselin 2008-10-12 20:13:54 +02:00
parent 1483129492
commit 89e30ae3d3
2 changed files with 24 additions and 16 deletions

View file

@ -1,7 +1,7 @@
#!/usr/bin/env python
# -*- coding: iso-8859-15 -*-
""" Collection de fonction/classe pour avoir un bel affichage
""" Collection de fonction/classe pour avoir un bel affichage
Copyright (C) Frédéric Pauget
Licence : GPLv2
@ -31,9 +31,9 @@ else:
stdout_atty = sys.stdout.isatty()
def dialog(backtitle,arg) :
def dialog(backtitle,arg,dialogrc='') :
""" Affiche la boite de dialogue défine avec les arguments fournis
(cf man dialog)
(cf man dialog)
si tout se déroule bien retourne :
[ 0, [ reponse(s) ] ]
si annulatin retourne :
@ -42,14 +42,13 @@ def dialog(backtitle,arg) :
si erreur dans les arguments raise RuntimeError
"""
f = tempfile.NamedTemporaryFile()
cmd = u'LANG=fr_FR@euro /usr/bin/dialog --backtitle "%s" --cancel-label "Retour" %s 2>%s' % (backtitle,arg,f.name)
cmd = u'%s LANG=fr_FR@euro /usr/bin/dialog --backtitle "%s" --cancel-label "Retour" %s 2>%s' % (dialogrc, backtitle,arg,f.name)
res = os.system(cmd.encode('iso-8859-15','ignore'))
if res == 256 :
# Annuler
f.close()
return [ 1, [] ]
# Lecture du fichier de résultat et effacement
try:
result=f.readlines()
@ -57,7 +56,6 @@ def dialog(backtitle,arg) :
except :
result = [ "n'importe quoi", '']
res = 65280
# Traitement
if res==65280 and result:
# Erreur dans les arguments
@ -66,12 +64,11 @@ def dialog(backtitle,arg) :
# Appui sur ESC
arg1 = u'--title "Annulation" --yesno "Quitter ?\nLes dernières modifications seront perdues." 6 48'
print backtitle
cmd = u'/usr/bin/dialog --backtitle "%s" %s' % (backtitle,arg1)
cmd = u'%s /usr/bin/dialog --backtitle "%s" %s' % (dialogrc, backtitle,arg1)
res = os.system(cmd.encode('iso-8859-15','ignore') )
if res==0 : sys.exit(0)
else : return dialog(backtitle,arg)
elif not result : result=['']
return [ 0, result ]
def coul(txt, col=None):
@ -127,7 +124,7 @@ def cprint(txt, col='blanc', newline=True):
def tableau(data, titre=None, largeur=None, alignement=None, format=None):
"""
Retourne une chaine formatée repésentant un tableau.
data : liste de listes, chacune contenant les valeurs d'une ligne
titre : liste des titres