UTF-8, il y a encore des irréductibles.

This commit is contained in:
Vincent Le Gallic 2014-05-16 01:38:59 +02:00
parent 3137d3a315
commit a6cde8064a

View file

@ -1,8 +1,8 @@
#! /usr/bin/env python #! /usr/bin/env python
# -*- coding: iso-8859-15 -*- # -*- coding: utf-8 -*-
# Script de création de compte sur le wiki # Script de création de compte sur le wiki
# Auteur : Stéphane Glondu # Auteur : Stéphane Glondu
# Licence : GPLv2 # Licence : GPLv2
import sys, os, httplib, urllib, locale import sys, os, httplib, urllib, locale
@ -56,22 +56,22 @@ def creer_compte(nom, mdp, email, user=user):
msg = MIMEText(bugreport.encode(encoding) % form, 'plain', encoding) msg = MIMEText(bugreport.encode(encoding) % form, 'plain', encoding)
msg['Subject'] = "creer_compte_wiki.py: success" msg['Subject'] = "creer_compte_wiki.py: success"
send(msg, user) send(msg, user)
return u"Compte %s créé avec succès !" % nom, False return u"Compte %s créé avec succès !" % nom, False
elif 'nonunique name' in data: elif 'nonunique name' in data:
return u"Le compte %s existe déjà !" % nom, True return u"Le compte %s existe déjà !" % nom, True
elif 'nonunique email' in data: elif 'nonunique email' in data:
return u"L'adresse %s est déjà utilisée !" % email, True return u"L'adresse %s est déjà utilisée !" % email, True
elif 'Password not acceptable: Password too short.' in data: elif 'Password not acceptable: Password too short.' in data:
return u"Le mot de passe choisi est trop court", True return u"Le mot de passe choisi est trop court", True
elif 'invalid name' in data: elif 'invalid name' in data:
msg = u"Le nom d'utilisateur %s est invalide !" % nom msg = u"Le nom d'utilisateur %s est invalide !" % nom
msg += u""" msg += u"""
Le nom d'utilisateur doit être un WikiNom, voir à ce sujet : Le nom d'utilisateur doit être un WikiNom, voir à ce sujet :
http://wiki.crans.org/NomWiki http://wiki.crans.org/NomWiki
Il peut contenir n'importe quel caractère alphanumérique, avec Il peut contenir n'importe quel caractère alphanumérique, avec
éventuellement un espace facultatif entre chaque mot. Il peut aussi éventuellement un espace facultatif entre chaque mot. Il peut aussi
contenir des accents, mais assurez-vous que votre terminal est contenir des accents, mais assurez-vous que votre terminal est
correctement configuré (en %s).""" % (locale.getdefaultlocale()[1]) correctement configuré (en %s).""" % (locale.getdefaultlocale()[1])
return msg, True return msg, True
else: else:
html = MIMEBase('text', 'html') html = MIMEBase('text', 'html')
@ -84,17 +84,17 @@ correctement configur
msg.attach(html) msg.attach(html)
send(msg, user) send(msg, user)
return coul(u"Erreur inconnue\n", "rouge") + \ return coul(u"Erreur inconnue\n", "rouge") + \
u"Un rapport de bug a été automatiquement envoyé. Réessayez plus tard." u"Un rapport de bug a été automatiquement envoyé. Réessayez plus tard."
if __name__ == '__main__': if __name__ == '__main__':
try: try:
nom = prompt("Nom d'utilisateur (utiliser un WikiNom) : ") nom = prompt("Nom d'utilisateur (utiliser un WikiNom) : ")
while True: while True:
mdp = getpass(coul("Mot de passe (ne pas utiliser le même que pour zamok) : ", "gras")) mdp = getpass(coul("Mot de passe (ne pas utiliser le même que pour zamok) : ", "gras"))
if getpass(coul("Confirmation du mot de passe : ", "gras")) == mdp: if getpass(coul("Confirmation du mot de passe : ", "gras")) == mdp:
break break
else: else:
cprint(u"Les deux mots de passe sont différents, veuillez réessayer...", "jaune") cprint(u"Les deux mots de passe sont différents, veuillez réessayer...", "jaune")
email = prompt("Adresse e-mail : ") email = prompt("Adresse e-mail : ")
message, erreur = creer_compte(nom, mdp, email) message, erreur = creer_compte(nom, mdp, email)
@ -110,7 +110,7 @@ if __name__ == '__main__':
except SystemExit, c: except SystemExit, c:
if c.__str__() == '254': if c.__str__() == '254':
os.system('reset') os.system('reset')
print "Votre session d'édition à été tuée." print "Votre session d'édition à été tuée."
exit = c exit = c
except: except:
@ -119,4 +119,4 @@ if __name__ == '__main__':
msg['Subject'] = '[Bugreport] creer_compte_wiki.py: __main__' msg['Subject'] = '[Bugreport] creer_compte_wiki.py: __main__'
send(msg) send(msg)
print coul(u"Erreur inconnue\n", "rouge") + \ print coul(u"Erreur inconnue\n", "rouge") + \
u"Un rapport de bug a été automatiquement envoyé. Réessayez plus tard." u"Un rapport de bug a été automatiquement envoyé. Réessayez plus tard."