[gestion/*.py] Ré-encodage de certains scripts en UTF-8

Ignore-this: dafa22ed56eaf0d816fd089e42672eb5

darcs-hash:20090309212124-0445d-09ac8ae4052b6f333706be1baa1c7f4d94455fd5.gz
This commit is contained in:
Stephane Glondu 2009-03-09 22:21:24 +01:00
parent 7addc503a8
commit cc31727b60
21 changed files with 1351 additions and 1351 deletions

View file

@ -1,15 +1,15 @@
#!/usr/bin/env python
# -*- coding: iso-8859-15 -*-
# -*- coding: utf-8 -*-
""" Collection de fonction/classe pour avoir un bel affichage
Copyright (C) Frédéric Pauget
Copyright (C) Frédéric Pauget
Licence : GPLv2
"""
import sys, re, os, tempfile
# Détermination de l'encodage
# Détermination de l'encodage
encoding = None
try:
from locale import getpreferredencoding
@ -20,7 +20,7 @@ except:
if not encoding:
encoding = sys.stdin.encoding or "ISO-8859-15"
# Si aucune locale n'est définie, on se met en ISO-8859-15
# Si aucune locale n'est définie, on se met en ISO-8859-15
if encoding == "ANSI_X3.4-1968":
encoding = "ISO-8859-15"
@ -32,13 +32,13 @@ else:
stdout_atty = sys.stdout.isatty()
def dialog(backtitle,arg,dialogrc='') :
""" Affiche la boite de dialogue défine avec les arguments fournis
""" Affiche la boite de dialogue défine avec les arguments fournis
(cf man dialog)
si tout se déroule bien retourne :
si tout se déroule bien retourne :
[ 0, [ reponse(s) ] ]
si annulatin retourne :
[ 1, [] ]
si appui sur ESC demande confirmation de l'abandon et exécute sys.exit(0)
si appui sur ESC demande confirmation de l'abandon et exécute sys.exit(0)
si erreur dans les arguments raise RuntimeError
"""
f = tempfile.NamedTemporaryFile()
@ -49,7 +49,7 @@ def dialog(backtitle,arg,dialogrc='') :
# Annuler
f.close()
return [ 1, [] ]
# Lecture du fichier de résultat et effacement
# Lecture du fichier de résultat et effacement
try:
result=f.readlines()
f.close()
@ -62,7 +62,7 @@ def dialog(backtitle,arg,dialogrc='') :
raise RuntimeError( arg, result[1].strip() )
elif res==65280 :
# Appui sur ESC
arg1 = u'--title "Annulation" --yesno "Quitter ?\nLes dernières modifications seront perdues." 6 48'
arg1 = u'--title "Annulation" --yesno "Quitter ?\nLes dernières modifications seront perdues." 6 48'
print backtitle
cmd = u'%s /usr/bin/dialog --backtitle "%s" %s' % (dialogrc, backtitle,arg1)
res = os.system(cmd.encode('iso-8859-15','ignore') )
@ -73,8 +73,8 @@ def dialog(backtitle,arg,dialogrc='') :
def coul(txt, col=None):
"""
Retourne la chaine donnée encadrée des séquences qui
vont bien pour obtenir la couleur souhaitée
Retourne la chaine donnée encadrée des séquences qui
vont bien pour obtenir la couleur souhaitée
Les couleur sont celles de codecol
Il est possible de changer la couleur de fond grace aux couleur f_<couleur>
"""
@ -123,7 +123,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.
Retourne une chaine formatée repésentant un tableau.
data : liste de listes, chacune contenant les valeurs d'une ligne
@ -132,7 +132,7 @@ def tableau(data, titre=None, largeur=None, alignement=None, format=None):
largeur : liste des largeurs des colonnes, '*' met la plus grande
largeur possible.
Si None, réduit aux max chaque colonne
Si None, réduit aux max chaque colonne
alignement : liste des alignements : c = centrer
g = gauche
@ -149,7 +149,7 @@ def tableau(data, titre=None, largeur=None, alignement=None, format=None):
elif titre :
nbcols = len(titre)
else :
return u'Aucune donnée'
return u'Aucune donnée'
# Formats
#########
@ -195,12 +195,12 @@ def tableau(data, titre=None, largeur=None, alignement=None, format=None):
# Alignement
if l > largeur :
# découpage d'une chaine trop longue
# découpage d'une chaine trop longue
regexp = re.compile('\x1b\[1;([0-9]|[0-9][0-9])m')
new_data = u''
new_len = 0
# On laisse la mise en forme et on coupe les caratères affichés
# On laisse la mise en forme et on coupe les caratères affichés
while True :
s = regexp.search(data)
if s and not s.start() :
@ -208,12 +208,12 @@ def tableau(data, titre=None, largeur=None, alignement=None, format=None):
new_data += data[:s.end()]
data = data[s.end():]
elif new_len < largeur - 1 :
# c'est un caratère normal, et il y a la place
# c'est un caratère normal, et il y a la place
new_data += data[0]
data = data[1:]
new_len += 1
else :
# c'est un caratère normal mais on a dépassé le max
# c'est un caratère normal mais on a dépassé le max
data = data[1:]
if not data :
return new_data + '*'
@ -237,19 +237,19 @@ def tableau(data, titre=None, largeur=None, alignement=None, format=None):
if titre :
# ligne de titre
chaine = sep_col + sep_col.join([aligne(titre[i],'c',largeur[i]) for i in range(nbcols)]) + sep_col + u'\n'
# ligne de séparation
# ligne de séparation
chaine += sep_col + u'+'.join([u'-'*largeur[i] for i in range(nbcols)]) + sep_col + u'\n'
else :
chaine = u''
# Les données
# Les données
#############
chaine += u'\n'.join([sep_col + sep_col.join([ligne[i] for i in range(nbcols)]) + sep_col for ligne in data])
return chaine
def get_screen_size():
"""Retourne la taille de l'écran.
"""Retourne la taille de l'écran.
Sous la forme d'un tuble (lignes, colonnes)"""
@ -265,7 +265,7 @@ def get_screen_size():
def prompt(prompt, defaut='', couleur='gras'):
u"""
Pose la question prompt en couleur (défaut gras), retourne la réponse.
Pose la question prompt en couleur (défaut gras), retourne la réponse.
"""
sys.stdout.write(coul(prompt, couleur).encode(encoding))
if defaut :
@ -276,12 +276,12 @@ def prompt(prompt, defaut='', couleur='gras'):
return v
class anim :
""" Permet de créer une animation :
""" Permet de créer une animation :
truc................./
truc.................-
truc.................\
truc.................|
ou une barre de progression si le nombre total d'itérations est founi.
ou une barre de progression si le nombre total d'itérations est founi.
"""
def __init__(self,truc,iter=0) :
""" Affichage de :
@ -304,7 +304,7 @@ class anim :
def cycle(self) :
""" Efface la ligne courrante et
affiche : truc..................?
? caratère variant à chaque appel """
? caratère variant à chaque appel """
sys.stdout.write(el + self.txt)
if self.iter!=0 :
sys.stdout.write('[')