4 from django
.contrib
.auth
.models
import User
6 def get_django_user_for_email(email
):
7 """Retourne un utilisateur Django avec le courriel donné.
9 S'il y a déjà un utilisateur avec ce courriel, on s'assure qu'il est activé.
11 Sinon, on crée un nouvel utilisateur."""
12 candidates
= User
.objects
.filter(email
=email
)
13 if candidates
.count() > 0:
15 if not user
.is_active
:
19 username
= email
.split('@')[0]
20 username
= re
.sub('\W', '_', username
)[:30]
22 while User
.objects
.filter(username
=username
).count() > 0:
24 username
= username
[:30-len(suffix
)] + suffix
26 # XXX: possible race condition here...
27 user
= User
.objects
.create_user(username
, email
)