[wiki/inscription.py] corrections mineures

Ignore-this: 824c4af931c3a7b67854cb84375350a6
 * Correction d'erreurs d'unicode
 * (r)Ajout du champ adresse mac
 * affiche les résultats

darcs-hash:20090618015829-bd074-a0b4af9de13b3568d234bcabdc94ca7c28953dd7.gz
This commit is contained in:
Antoine Durand-Gasselin 2009-06-18 03:58:29 +02:00
parent 42ef9c2aa3
commit 1d3b046496

View file

@ -94,10 +94,10 @@ class Field():
def is_name(self):
"""Vérifie que le champ input de l'objet passé en argument est un nom valide."""
analysed_content = unicodedata.normalize('NFKD', unicode.decode(self.input))
analysed_content = unicodedata.normalize('NFKD', self.input)
try: stripped_content = analysed_content.encode('ASCII', 'ignore')
except UnicodeEncodeError: stripped_content = '<ugly utf-8>'
if re.match('[-a-zA-Z _]*', stripped_content):
if re.match('[a-z][-a-z _]*', stripped_content.lower()):
return True
else:
self.error_txt = u"""Valeur %s incorrecte pour le champ %s.
@ -170,7 +170,7 @@ class FormulaireInscription():
Field("pass1", u"Mot de passe", input_type='password', check=is_correctpassword),
pass2_field,
Field("dns", u"Nom de votre ordinateur", check=is_dns),
mac_field
]
@ -205,8 +205,13 @@ def _check_form(post, formulaire):
errors.append(field.id)
return errors
def _perform_inscription(page, formulaire):
return(page.send_page())
def _perform_inscription(request, formulaire):
request.emit_http_headers(more_headers = ['Content-Type: text/plain'])
results = ''
for field in formulaire.champs:
results += '%(id)s: %(content)s\n' % field.__dict__
request.write(results)
def execute(pagename, request):
request.page = Page(request, pagename)
@ -220,7 +225,7 @@ def execute(pagename, request):
if post.has_key('inscrire'):
if _check_form(post, formulaire) == []:
_perform_inscription(request.page, formulaire)
return(_perform_inscription(request, formulaire))
request.emit_http_headers()
request.theme.send_title(u"Formulaire de préinscription", pagename=pagename)