]> git.parisson.com Git - django-social-auth.git/commitdiff
Code cleanup, move methods to superclass
authorMatías Aguirre <matiasaguirre@gmail.com>
Tue, 17 Apr 2012 19:58:46 +0000 (16:58 -0300)
committerMatías Aguirre <matiasaguirre@gmail.com>
Tue, 17 Apr 2012 19:58:46 +0000 (16:58 -0300)
social_auth/backends/__init__.py
social_auth/backends/contrib/github.py

index d258b3d20a83ed4933a36730ca12562d4e1ab18d..0f71154bffa2c3de7fb4707384b59ae4d10eeb7e 100644 (file)
@@ -526,11 +526,27 @@ class OpenIdAuth(BaseAuth):
 
 class BaseOAuth(BaseAuth):
     """OAuth base class"""
+    SETTINGS_KEY_NAME = ''
+    SETTINGS_SECRET_NAME = ''
+
     def __init__(self, request, redirect):
         """Init method"""
         super(BaseOAuth, self).__init__(request, redirect)
         self.redirect_uri = self.build_absolute_uri(self.redirect)
 
+    def get_key_and_secret(self):
+        """Return tuple with Consumer Key and Consumer Secret for current
+        service provider. Must return (key, secret), order *must* be respected.
+        """
+        return setting(self.SETTINGS_KEY_NAME), \
+               setting(self.SETTINGS_SECRET_NAME)
+
+    @classmethod
+    def enabled(cls):
+        """Return backend enabled status by checking basic settings"""
+        return setting(cls.SETTINGS_KEY_NAME) and \
+               setting(cls.SETTINGS_SECRET_NAME)
+
 
 class ConsumerBasedOAuth(BaseOAuth):
     """Consumer based mechanism OAuth authentication, fill the needed
@@ -545,8 +561,6 @@ class ConsumerBasedOAuth(BaseOAuth):
     REQUEST_TOKEN_URL = ''
     ACCESS_TOKEN_URL = ''
     SERVER_URL = ''
-    SETTINGS_KEY_NAME = ''
-    SETTINGS_SECRET_NAME = ''
 
     def auth_url(self):
         """Return redirect url"""
@@ -633,19 +647,6 @@ class ConsumerBasedOAuth(BaseOAuth):
         """Setups consumer"""
         return OAuthConsumer(*self.get_key_and_secret())
 
-    def get_key_and_secret(self):
-        """Return tuple with Consumer Key and Consumer Secret for current
-        service provider. Must return (key, secret), order *must* be respected.
-        """
-        return setting(self.SETTINGS_KEY_NAME), \
-               setting(self.SETTINGS_SECRET_NAME)
-
-    @classmethod
-    def enabled(cls):
-        """Return backend enabled status by checking basic settings"""
-        return setting(cls.SETTINGS_KEY_NAME) and \
-               setting(cls.SETTINGS_SECRET_NAME)
-
 
 class BaseOAuth2(BaseOAuth):
     """Base class for OAuth2 providers.
@@ -692,7 +693,7 @@ class BaseOAuth2(BaseOAuth):
                     'Accept': 'application/json'}
         request = Request(self.ACCESS_TOKEN_URL, data=urlencode(params),
                           headers=headers)
-        
+
         try:
             response = simplejson.loads(urlopen(request).read())
         except HTTPError, e:
@@ -720,13 +721,6 @@ class BaseOAuth2(BaseOAuth):
         """Return list with needed access scope"""
         return []
 
-    def get_key_and_secret(self):
-        """Return tuple with Consumer Key and Consumer Secret for current
-        service provider. Must return (key, secret), order *must* be respected.
-        """
-        return setting(self.SETTINGS_KEY_NAME), \
-               setting(self.SETTINGS_SECRET_NAME)
-
 
 # Backend loading was previously performed via the
 # SOCIAL_AUTH_IMPORT_BACKENDS setting - as it's no longer used,
index 75d5c9d8a67b3b7bddf9f2d8c1eb2a3304e77b13..8ccb2d19179cb9a1d99ef75dea71e1bc8942235e 100644 (file)
@@ -11,11 +11,9 @@ setting, it must be a list of values to request.
 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
 from urllib import urlencode, urlopen
 
 from django.utils import simplejson
-from django.contrib.auth import authenticate
 
 from social_auth.utils import setting
 from social_auth.backends import BaseOAuth2, OAuthBackend, USERNAME
@@ -58,7 +56,7 @@ class GithubAuth(BaseOAuth2):
         """Return list with needed access scope"""
         # Look at http://developer.github.com/v3/oauth/
         return setting('GITHUB_EXTENDED_PERMISSIONS', [])
-    
+
     def user_data(self, access_token, *args, **kwargs):
         """Loads user data from service"""
         url = GITHUB_USER_DATA_URL + '?' + urlencode({