1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
from admin.env import *
import sys
from node.models import User
from django.core.mail import send_mail
def notify_user(username, email, password):
message = '''
Bonjour,
votre compte vient d'être créé.
Vous pouvez désormais vous connecter ici:
http://mines.gargantext.org
Votre login est: %s
Votre mot de passe est : %s
Nous restons votre disposition pour tout complément d'information.
Cordialement
--
L'équipe de Gargantext (CNRS)
''' % (username, password)
send_mail('[Gargantext] Création de votre compte', message, 'alexandre.delanoe@mines-paristech.fr', [email], fail_silently=False )
#send_mail('[Gargantext] Votre compte', message, 'alexandre.delanoe@mines-paristech.fr', [email], ['alexandre@delanoe.org'] )
# add option for mass sending email
def create_user(username, email, password=None, active=False, notify=True):
user = User()
user.username = username
user.email = email
user.active_user = active
if password is None or password == "":
password = User.objects.make_random_password()
#print(password)
user.set_password(password)
user.save()
if notify == True:
notify_user(username, email, password)
return user
def delete_user(username):
user = User.objects.get(username=username)
user.delete()
def active_user(username, active=True):
'''
To get inactive, active=False
'''
user = User.objects.get(username=username)
user.active_user = active
user.save()
def mass_account_creation(fichier=None):
if fichier is None:
fichier = "/tmp/comptes.csv"
accounts = open(fichier, "r")
for line in accounts.readlines():
username, email, password, fin = line.split(',')
try:
user = User.objects.get(username=username)
print("User %s does exist already" % (username))
except:
print("User %s does not exist already" % (username))
create_user(username, email, password=password, active=True, notify=True)
#delete_user(username)
accounts.close()
if __name__ == "__main__":
mass_account_creation(fichier=sys.argv[1])