Adaptation la taille de la fentre.
darcs-hash:20041002122516-d1718-c201f9ffa44ee08519fb1985724b2983564005ab.gz
This commit is contained in:
parent
0047e7f9a1
commit
8d3ca461b3
2 changed files with 30 additions and 5 deletions
|
@ -82,6 +82,17 @@ def tableau(largeurs,data) :
|
|||
[ ( données entète), (données ligne1), .... ]
|
||||
"""
|
||||
sep_col = u'|'
|
||||
|
||||
# Si l'une des largeurs est '*', alors on la met la plus grande possible
|
||||
if '*' in largeurs:
|
||||
rows, cols = get_size()
|
||||
nlargeurs = []
|
||||
for n in largeurs:
|
||||
if n != '*':
|
||||
nlargeurs.append(n)
|
||||
else:
|
||||
nlargeurs.append(max(cols - sum(filter(lambda x:x!='*',largeurs)) - len(largeurs) - 1, 3))
|
||||
largeurs = nlargeurs
|
||||
|
||||
# Ligne de séparation entète corps
|
||||
s=u'\n'
|
||||
|
@ -109,6 +120,20 @@ def tableau(largeurs,data) :
|
|||
f = f.replace(u'\n',s,1) # Insertion du séparateur entète - corps
|
||||
return f[:-1] # Supression du \n final
|
||||
|
||||
def get_size():
|
||||
"""Retourne la taille de l'écran.
|
||||
|
||||
Sous la forme d'un tuble (colonnes, lignes)"""
|
||||
try:
|
||||
from termios import TIOCGWINSZ
|
||||
from struct import pack, unpack
|
||||
from fcntl import ioctl
|
||||
s = pack("HHHH", 0, 0, 0, 0)
|
||||
rows, cols = unpack("HHHH", ioctl(sys.stdout.fileno(), TIOCGWINSZ, s))[:2]
|
||||
return (rows, cols)
|
||||
except:
|
||||
return (80, 24)
|
||||
|
||||
def prompt(prompt, defaut=''):
|
||||
""" Pose la question prompt, retourne la réponse """
|
||||
sys.stdout.write(coul(prompt,'gras'))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue