[wiki-lenny] creer_compte_wiki.py
darcs-hash:20081220120849-bd074-595c99c439cad63326f5c1dc7ba5de86b0b61f98.gz
This commit is contained in:
parent
f03aab53b9
commit
4f77ce66c8
1 changed files with 14 additions and 14 deletions
|
@ -5,7 +5,7 @@
|
|||
# Auteur : Stéphane Glondu
|
||||
# Licence : GPLv2
|
||||
|
||||
import sys, os, httplib, urllib
|
||||
import sys, os, httplib, urllib, locale
|
||||
from getpass import getpass
|
||||
from smtplib import SMTP
|
||||
from email.MIMEBase import MIMEBase
|
||||
|
@ -17,7 +17,7 @@ sys.path.append("/usr/scripts/gestion")
|
|||
from affich_tools import coul, prompt, cprint
|
||||
from user_tests import getuser
|
||||
|
||||
bugmail = ["glondu@crans.org"]
|
||||
bugmail = ["glondu@crans.org", "adg@crans.org"]
|
||||
bugreport = u"""
|
||||
Nom d'utilisateur : %(name)s
|
||||
Adresse e-mail : %(email)s
|
||||
|
@ -39,12 +39,12 @@ def send(msg):
|
|||
smtp.quit()
|
||||
|
||||
def creer_compte(nom, mdp, email):
|
||||
form = {'action': 'userform',
|
||||
form = {'action': 'newaccount',
|
||||
'name': nom.encode(encoding),
|
||||
'password': mdp,
|
||||
'password1': mdp,
|
||||
'password2': mdp,
|
||||
'email': email.encode(encoding),
|
||||
'create': 'Create Profile'}
|
||||
'create_only': 'Create+Profile'}
|
||||
params = urllib.urlencode(form)
|
||||
headers = {"Content-type": "application/x-www-form-urlencoded",
|
||||
"Accept": "text/plain"}
|
||||
|
@ -62,6 +62,8 @@ def creer_compte(nom, mdp, email):
|
|||
return coul(u"Le compte %s existe déjà !" % nom, "rouge")
|
||||
elif 'This email already belongs to somebody else.' in data:
|
||||
return coul(u"L'adresse %s est déjà utilisée !" % email, "rouge")
|
||||
elif 'Password not acceptable: Password too short.' in data:
|
||||
return coul(u"Le mot de passe choisi est trop court", "rouge")
|
||||
elif 'Invalid user name' in data or "Nom d'utilisateur invalide" in data:
|
||||
msg = coul(u"Le nom d'utilisateur %s est invalide !" % nom, "rouge")
|
||||
msg += u"""
|
||||
|
@ -70,7 +72,7 @@ Le nom d'utilisateur doit
|
|||
Il peut contenir n'importe quel caractère alphanumérique, avec
|
||||
éventuellement un espace facultatif entre chaque mot. Il peut aussi
|
||||
contenir des accents, mais assurez-vous que votre terminal est
|
||||
correctement configuré (en ISO-8859-1 ou ISO-8859-15)."""
|
||||
correctement configuré (en %s).""" % (locale.getdefaultlocale()[1])
|
||||
return msg
|
||||
else:
|
||||
html = MIMEBase('text', 'html')
|
||||
|
@ -86,7 +88,6 @@ correctement configur
|
|||
u"Un rapport de bug a été automatiquement envoyé. Réessayez plus tard."
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
||||
try:
|
||||
nom = prompt("Nom d'utilisateur (utiliser un WikiNom) : ")
|
||||
while True:
|
||||
|
@ -94,12 +95,11 @@ if __name__ == '__main__':
|
|||
if getpass(coul("Confirmation du mot de passe : ", "gras")) == mdp:
|
||||
break
|
||||
else:
|
||||
cprint(u"Les deux mots de passe sont différents, veuillez réessayer...", "rouge")
|
||||
cprint(u"Les deux mots de passe sont différents, veuillez réessayer...", "jaune")
|
||||
email = prompt("Adresse e-mail : ")
|
||||
print creer_compte(nom, mdp, email)
|
||||
|
||||
except KeyboardInterrupt:
|
||||
os.system('clear')
|
||||
print "Interruption par l'utilisateur."
|
||||
exit = 255
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue