blob: af50cafb76da35d56744e0ffd8c1cf5191c24665 (
plain)
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
|
from Crypto.Hash import SHA256
from Crypto import Random
from models import UserProfile
def generate_random_token():
"""
Generate a random token of 64 characters. This token will be
generated using a strong random number, and then hex encoded to make
sure all characters are safe to put in emails and URLs.
"""
s = SHA256.new()
r = Random.new()
s.update(r.read(250))
return s.hexdigest()
class UserWrapper(object):
def __init__(self, user):
self.user = user
@property
def email(self):
try:
up = UserProfile.objects.get(user=self.user)
if up.selectedemail and up.selectedemail.confirmed:
return up.selectedemail.email
else:
return self.user.email
except UserProfile.DoesNotExist:
return self.user.email
|