]> git.parisson.com Git - django-social-auth.git/commitdiff
switch to urllib2 urlopen - the old one blocked for a long time
authorCassus Adam Banko <banko.adam@gmail.com>
Tue, 26 Jul 2011 14:47:25 +0000 (16:47 +0200)
committerCassus Adam Banko <banko.adam@gmail.com>
Wed, 17 Aug 2011 10:38:25 +0000 (12:38 +0200)
social_auth/backends/facebook.py

index ae790e6cf648c335f7e87e6f5fab0cfe4685e2d5..c01fda70182c860e16c0f9fdb89e37bd90c7ea88 100644 (file)
@@ -12,7 +12,8 @@ By default account id and token expiration time are stored in extra_data
 field, check OAuthBackend class for details on how to extend it.
 """
 import cgi
-import urllib
+from urllib import urlencode
+from urllib2 import urlopen
 
 from django.conf import settings
 from django.utils import simplejson
@@ -54,17 +55,17 @@ class FacebookAuth(BaseOAuth):
                 'redirect_uri': self.redirect_uri}
         if hasattr(settings, 'FACEBOOK_EXTENDED_PERMISSIONS'):
             args['scope'] = ','.join(settings.FACEBOOK_EXTENDED_PERMISSIONS)
-        return FACEBOOK_AUTHORIZATION_URL + '?' + urllib.urlencode(args)
+        return FACEBOOK_AUTHORIZATION_URL + '?' + urlencode(args)
 
     def auth_complete(self, *args, **kwargs):
         """Returns user, might be logged in"""
         if 'code' in self.data:
             url = FACEBOOK_ACCESS_TOKEN_URL + '?' + \
-                  urllib.urlencode({'client_id': settings.FACEBOOK_APP_ID,
+                  urlencode({'client_id': settings.FACEBOOK_APP_ID,
                                 'redirect_uri': self.redirect_uri,
                                 'client_secret': settings.FACEBOOK_API_SECRET,
                                 'code': self.data['code']})
-            response = cgi.parse_qs(urllib.urlopen(url).read())
+            response = cgi.parse_qs(urlopen(url).read())
             access_token = response['access_token'][0]
             data = self.user_data(access_token)
             if data is not None:
@@ -85,9 +86,9 @@ class FacebookAuth(BaseOAuth):
     def user_data(self, access_token):
         """Loads user data from service"""
         params = {'access_token': access_token,}
-        url = FACEBOOK_CHECK_AUTH + '?' + urllib.urlencode(params)
+        url = FACEBOOK_CHECK_AUTH + '?' + urlencode(params)
         try:
-            return simplejson.load(urllib.urlopen(url))
+            return simplejson.load(urlopen(url))
         except ValueError:
             return None