[gen_confs/switchs.py] on récupère la première ligne de la conf depuis le switch
Ignore-this: 28adbb199ef5bd83b58f20ea4320505b darcs-hash:20090302143657-bd074-c53e93c464eb46cf527e4431c208fda82a5570a0.gz
This commit is contained in:
parent
eb82b03462
commit
8905c9ca16
2 changed files with 33 additions and 25 deletions
|
@ -129,16 +129,16 @@ def tableau(data, titre=None, largeur=None, alignement=None, format=None):
|
|||
|
||||
titre : liste des titres
|
||||
Si none, n'affiche pas de ligne de titre
|
||||
|
||||
|
||||
largeur : liste des largeurs des colonnes, '*' met la plus grande
|
||||
largeur possible.
|
||||
Si None, réduit aux max chaque colonne
|
||||
|
||||
|
||||
alignement : liste des alignements : c = centrer
|
||||
g = gauche
|
||||
d = droit
|
||||
Si None, met c pour chaque colonne
|
||||
|
||||
|
||||
format : liste des formats : s = string
|
||||
o = octet
|
||||
Si None, s pour chaque colonne
|
||||
|
@ -150,16 +150,16 @@ def tableau(data, titre=None, largeur=None, alignement=None, format=None):
|
|||
nbcols = len(titre)
|
||||
else :
|
||||
return u'Aucune donnée'
|
||||
|
||||
|
||||
# Formats
|
||||
#########
|
||||
if not format :
|
||||
format = ['s'] * nbcols
|
||||
|
||||
|
||||
def reformate(data, format):
|
||||
if format == 's':
|
||||
return unicode(data)
|
||||
|
||||
|
||||
elif format == 'o' :
|
||||
data = float(data)
|
||||
if data > 1024**3:
|
||||
|
@ -170,9 +170,9 @@ def tableau(data, titre=None, largeur=None, alignement=None, format=None):
|
|||
return str(round(data/1024, 1)) + 'ko'
|
||||
else:
|
||||
return str(round(data, 1)) + 'o'
|
||||
|
||||
|
||||
data = [ [ reformate(ligne[i],format[i]) for i in range(nbcols) ] for ligne in data ]
|
||||
|
||||
|
||||
# Largeurs
|
||||
##########
|
||||
if not largeur :
|
||||
|
@ -183,23 +183,23 @@ def tableau(data, titre=None, largeur=None, alignement=None, format=None):
|
|||
if largeur[i] in ['*',-1] :
|
||||
largeur[i] = max(cols - sum([l for l in largeur if l != '*']) - nbcols - 1, 3)
|
||||
break
|
||||
|
||||
|
||||
# Alignement
|
||||
############
|
||||
if not alignement :
|
||||
alignement = ['c'] * nbcols
|
||||
|
||||
|
||||
def aligne (data, alignement, largeur) :
|
||||
# Longeur sans les chaines de formatage
|
||||
l = len(re.sub('\x1b\[1;([0-9]|[0-9][0-9])m','',data))
|
||||
|
||||
|
||||
# Alignement
|
||||
if l > largeur :
|
||||
# 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
|
||||
while True :
|
||||
s = regexp.search(data)
|
||||
|
@ -217,21 +217,21 @@ def tableau(data, titre=None, largeur=None, alignement=None, format=None):
|
|||
data = data[1:]
|
||||
if not data :
|
||||
return new_data + '*'
|
||||
|
||||
|
||||
elif l == largeur :
|
||||
return data
|
||||
|
||||
|
||||
elif alignement == 'g' :
|
||||
return u' ' + data + u' '*(largeur-l-1)
|
||||
|
||||
|
||||
elif alignement == 'd' :
|
||||
return u' '*(largeur-l-1) + data + u' '
|
||||
|
||||
|
||||
else :
|
||||
return u' '*((largeur-l)/2) + data + u' '*((largeur-l+1)/2)
|
||||
|
||||
data = [ [ aligne(ligne[i],alignement[i],largeur[i]) for i in range(nbcols) ] for ligne in data ]
|
||||
|
||||
|
||||
# Le titre
|
||||
##########
|
||||
if titre :
|
||||
|
@ -245,14 +245,14 @@ def tableau(data, titre=None, largeur=None, alignement=None, format=None):
|
|||
# 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.
|
||||
|
||||
Sous la forme d'un tuble (lignes, colonnes)"""
|
||||
|
||||
|
||||
try:
|
||||
from termios import TIOCGWINSZ
|
||||
from struct import pack, unpack
|
||||
|
@ -291,18 +291,18 @@ class anim :
|
|||
self.iter = iter
|
||||
sys.stdout.write(self.txt)
|
||||
sys.stdout.flush()
|
||||
|
||||
|
||||
def reinit(self) :
|
||||
""" Efface la ligne courrante et
|
||||
""" Efface la ligne courrante et
|
||||
affiche : truc................. """
|
||||
sys.stdout.write(el + self.txt)
|
||||
if self.iter :
|
||||
sys.stdout.write(' '*28)
|
||||
sys.stdout.write(el + self.txt)
|
||||
sys.stdout.flush()
|
||||
|
||||
|
||||
def cycle(self) :
|
||||
""" Efface la ligne courrante et
|
||||
""" Efface la ligne courrante et
|
||||
affiche : truc..................?
|
||||
? caratère variant à chaque appel """
|
||||
sys.stdout.write(el + self.txt)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue