From 7b5de72d3b787b9a3e227c2433140b763cc68954 Mon Sep 17 00:00:00 2001 From: Cassus Adam Banko Date: Tue, 26 Jul 2011 16:47:25 +0200 Subject: [PATCH] switch to urllib2 urlopen - the old one blocked for a long time --- social_auth/backends/facebook.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/social_auth/backends/facebook.py b/social_auth/backends/facebook.py index ae790e6..c01fda7 100644 --- a/social_auth/backends/facebook.py +++ b/social_auth/backends/facebook.py @@ -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 -- 2.39.5