[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
|
# Auteur : Stéphane Glondu
|
||||||
# Licence : GPLv2
|
# Licence : GPLv2
|
||||||
|
|
||||||
import sys, os, httplib, urllib
|
import sys, os, httplib, urllib, locale
|
||||||
from getpass import getpass
|
from getpass import getpass
|
||||||
from smtplib import SMTP
|
from smtplib import SMTP
|
||||||
from email.MIMEBase import MIMEBase
|
from email.MIMEBase import MIMEBase
|
||||||
|
@ -17,7 +17,7 @@ sys.path.append("/usr/scripts/gestion")
|
||||||
from affich_tools import coul, prompt, cprint
|
from affich_tools import coul, prompt, cprint
|
||||||
from user_tests import getuser
|
from user_tests import getuser
|
||||||
|
|
||||||
bugmail = ["glondu@crans.org"]
|
bugmail = ["glondu@crans.org", "adg@crans.org"]
|
||||||
bugreport = u"""
|
bugreport = u"""
|
||||||
Nom d'utilisateur : %(name)s
|
Nom d'utilisateur : %(name)s
|
||||||
Adresse e-mail : %(email)s
|
Adresse e-mail : %(email)s
|
||||||
|
@ -39,12 +39,12 @@ def send(msg):
|
||||||
smtp.quit()
|
smtp.quit()
|
||||||
|
|
||||||
def creer_compte(nom, mdp, email):
|
def creer_compte(nom, mdp, email):
|
||||||
form = {'action': 'userform',
|
form = {'action': 'newaccount',
|
||||||
'name': nom.encode(encoding),
|
'name': nom.encode(encoding),
|
||||||
'password': mdp,
|
'password1': mdp,
|
||||||
'password2': mdp,
|
'password2': mdp,
|
||||||
'email': email.encode(encoding),
|
'email': email.encode(encoding),
|
||||||
'create': 'Create Profile'}
|
'create_only': 'Create+Profile'}
|
||||||
params = urllib.urlencode(form)
|
params = urllib.urlencode(form)
|
||||||
headers = {"Content-type": "application/x-www-form-urlencoded",
|
headers = {"Content-type": "application/x-www-form-urlencoded",
|
||||||
"Accept": "text/plain"}
|
"Accept": "text/plain"}
|
||||||
|
@ -62,6 +62,8 @@ def creer_compte(nom, mdp, email):
|
||||||
return coul(u"Le compte %s existe déjà !" % nom, "rouge")
|
return coul(u"Le compte %s existe déjà !" % nom, "rouge")
|
||||||
elif 'This email already belongs to somebody else.' in data:
|
elif 'This email already belongs to somebody else.' in data:
|
||||||
return coul(u"L'adresse %s est déjà utilisée !" % email, "rouge")
|
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:
|
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 = coul(u"Le nom d'utilisateur %s est invalide !" % nom, "rouge")
|
||||||
msg += u"""
|
msg += u"""
|
||||||
|
@ -70,7 +72,7 @@ Le nom d'utilisateur doit
|
||||||
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 ISO-8859-1 ou ISO-8859-15)."""
|
correctement configuré (en %s).""" % (locale.getdefaultlocale()[1])
|
||||||
return msg
|
return msg
|
||||||
else:
|
else:
|
||||||
html = MIMEBase('text', 'html')
|
html = MIMEBase('text', 'html')
|
||||||
|
@ -86,7 +88,6 @@ correctement configur
|
||||||
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:
|
||||||
|
@ -94,12 +95,11 @@ if __name__ == '__main__':
|
||||||
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...", "rouge")
|
cprint(u"Les deux mots de passe sont différents, veuillez réessayer...", "jaune")
|
||||||
email = prompt("Adresse e-mail : ")
|
email = prompt("Adresse e-mail : ")
|
||||||
print creer_compte(nom, mdp, email)
|
print creer_compte(nom, mdp, email)
|
||||||
|
|
||||||
except KeyboardInterrupt:
|
except KeyboardInterrupt:
|
||||||
os.system('clear')
|
|
||||||
print "Interruption par l'utilisateur."
|
print "Interruption par l'utilisateur."
|
||||||
exit = 255
|
exit = 255
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue