Gestion de l'encodage pour la fonction prompt (par Stphane).

darcs-hash:20051101170235-41617-47fba016ac1075f704cfb9c5b66919fcf0e85ed2.gz
This commit is contained in:
pauget 2005-11-01 18:02:35 +01:00
parent 2f0a98f453
commit 0ab7852e1f

View file

@ -9,6 +9,10 @@ Licence : GPLv2
import sys, sre, os, tempfile import sys, sre, os, tempfile
# Détermination de l'encodage
from locale import getpreferredencoding
encoding = getpreferredencoding()
if 'TERM' in os.environ and os.environ['TERM'] != 'unknown': if 'TERM' in os.environ and os.environ['TERM'] != 'unknown':
el = os.popen('tput cr ; tput el').read() el = os.popen('tput cr ; tput el').read()
else: else:
@ -140,14 +144,16 @@ def get_screen_size():
except: except:
return (24, 80) return (24, 80)
def prompt(prompt, defaut=''): def prompt(prompt, defaut='', couleur='gras'):
""" Pose la question prompt, retourne la réponse """ u"""
sys.stdout.write(coul(prompt,'gras')) Pose la question prompt en couleur (défaut gras), retourne la réponse.
"""
sys.stdout.write(coul(prompt, couleur).encode(encoding))
if defaut : if defaut :
sys.stdout.write(" ["+defaut+"]") sys.stdout.write((" [%s]" % defaut).encode(encoding))
sys.stdout.write(" ") sys.stdout.write(" ".encode(encoding))
v=sys.stdin.readline().strip() v = sys.stdin.readline().decode(encoding).strip()
if not v : v = defaut if not v: v = defaut
return v return v
class anim : class anim :