19
19
warnings.filterwarnings('ignore', r'tmpnam')
21
22
def fetch_gravatar(email):
25
25
Return None if avatar was not found.
28
29
hash = md5(email).hexdigest()
29
30
size = max(pybb_settings.AVATAR_WIDTH, pybb_settings.AVATAR_HEIGHT)
32
33
url = 'http://www.gravatar.com/avatar/%s?s=%d&d=%s' % (hash, size, default)
36
38
def http_error_302(*args):
37
39
raise IOError('Redirect found')
39
41
timeout = socket.getdefaulttimeout()
40
42
socket.setdefaulttimeout(10)
42
44
socket.setdefaulttimeout(timeout)
45
47
file(fname, 'wb').write(opener.open(url, fname).read())