Эх сурвалжийг харах

HUE-8737 [core] Futurize desktop/libs/liboauth for Python 3.5

Ying Chen 6 жил өмнө
parent
commit
b62de27428

+ 11 - 4
desktop/libs/liboauth/src/liboauth/backend.py

@@ -18,11 +18,13 @@
 See desktop/auth/backend.py
 """
 
+from future import standard_library
+standard_library.install_aliases()
 import httplib2
 import json
-import urllib
 import cgi
 import logging
+import sys
 
 from django.contrib.auth.models import User
 from django.utils.translation import ugettext as _
@@ -39,6 +41,11 @@ try:
 except:
   oauth = None
 
+if sys.version_info[0] > 2:
+  import urllib.request, urllib.parse, urllib.error
+  from urllib.parse import urlencode as lib_urlencode
+else:
+  from urllib import urlencode as lib_urlencode
 
 LOG = logging.getLogger(__name__)
 
@@ -142,7 +149,7 @@ class OAuthBackend(DesktopBackendBase):
             access_token_uri=liboauth.conf.ACCESS_TOKEN_URL_LINKEDIN.get()
             authentication_token_uri=liboauth.conf.AUTHORIZE_URL_LINKEDIN.get()
         
-        params = urllib.urlencode({
+        params = lib_urlencode({
            'code':code,
            'redirect_uri':redirect_uri,
            'client_id': consumer_key,
@@ -254,7 +261,7 @@ class OAuthBackend(DesktopBackendBase):
 
        consumer = oauth.Consumer(consumer_key, consumer_secret)
        client = oauth.Client(consumer)
-       resp, content = client.request(token_request_uri, "POST", body=urllib.urlencode({'oauth_callback': redirect_uri}))
+       resp, content = client.request(token_request_uri, "POST", body=lib_urlencode({'oauth_callback': redirect_uri}))
        if resp['status'] != '200':
            raise Exception(_("Invalid response from OAuth provider: %s") % resp)
        request.session['request_token'] = dict(cgi.parse_qsl(content))
@@ -267,7 +274,7 @@ class OAuthBackend(DesktopBackendBase):
 def map_username(username):
     username_map = liboauth.conf.USERNAME_MAP.get()
     if username_map:
-        for key, value in username_map.iteritems():
+        for key, value in username_map.items():
             username = username.replace(key, value)
     return ''.join([x for x in username if x.isalnum()])
 

+ 3 - 1
desktop/libs/liboauth/src/liboauth/views.py

@@ -15,13 +15,15 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+from future import standard_library
+standard_library.install_aliases()
 try:
   import oauth2 as oauth
 except:
   oauth = None
  
 import logging
-import urllib
+import urllib.request, urllib.parse, urllib.error
 import httplib2
 
 import django.contrib.auth.views