[gestion/*.py] Ré-encodage de certains scripts en UTF-8
Ignore-this: dafa22ed56eaf0d816fd089e42672eb5 darcs-hash:20090309212124-0445d-09ac8ae4052b6f333706be1baa1c7f4d94455fd5.gz
This commit is contained in:
parent
7addc503a8
commit
cc31727b60
21 changed files with 1351 additions and 1351 deletions
|
@ -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('[')
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue