~widelands-dev/widelands-website/trunk

« back to all changes in this revision

Viewing changes to wlprofile/gravatar.py

  • Committer: kaputtnik
  • Date: 2019-06-14 18:40:56 UTC
  • mfrom: (532.1.31 widelands)
  • Revision ID: kaputtnik-20190614184056-l0ha8pm5zais9mxk
Adapted code for use with python 3.6

Show diffs side-by-side

added added

removed removed

Lines of Context:
6
6
import os.path
7
7
import warnings
8
8
import logging
9
 
import urllib
10
 
import urllib2
 
9
import urllib.request, urllib.parse, urllib.error
 
10
import urllib.request, urllib.error, urllib.parse
11
11
from datetime import datetime, timedelta
12
12
import shutil
13
13
import socket
28
28
 
29
29
    hash = md5(email).hexdigest()
30
30
    size = max(pybb_settings.AVATAR_WIDTH, pybb_settings.AVATAR_HEIGHT)
31
 
    default = urllib.quote('http://spam.egg/')
 
31
    default = urllib.parse.quote('http://spam.egg/')
32
32
 
33
33
    url = 'http://www.gravatar.com/avatar/%s?s=%d&d=%s' % (hash, size, default)
34
34
    fname = os.tmpnam()
35
35
 
36
 
    class RedirectHandler(urllib2.HTTPRedirectHandler):
 
36
    class RedirectHandler(urllib.request.HTTPRedirectHandler):
37
37
 
38
38
        def http_error_302(*args):
39
39
            raise IOError('Redirect found')
40
40
 
41
41
    timeout = socket.getdefaulttimeout()
42
42
    socket.setdefaulttimeout(10)
43
 
    opener = urllib2.build_opener(RedirectHandler())
 
43
    opener = urllib.request.build_opener(RedirectHandler())
44
44
    socket.setdefaulttimeout(timeout)
45
45
 
46
46
    try:
47
47
        file(fname, 'wb').write(opener.open(url, fname).read())
48
 
    except IOError, ex:
 
48
    except IOError as ex:
49
49
        # logging.error(ex)
50
50
        return None
51
51
    else: