aboutsummaryrefslogtreecommitdiffstats
path: root/rest_framework/compat.py
diff options
context:
space:
mode:
Diffstat (limited to 'rest_framework/compat.py')
-rw-r--r--rest_framework/compat.py31
1 files changed, 25 insertions, 6 deletions
diff --git a/rest_framework/compat.py b/rest_framework/compat.py
index 1e04e8f6..69be9543 100644
--- a/rest_framework/compat.py
+++ b/rest_framework/compat.py
@@ -427,16 +427,35 @@ try:
except ImportError:
etree = None
+# OAuth is optional
+try:
+ # Note: The `oauth2` package actually provides oauth1.0a support. Urg.
+ import oauth2 as oauth
+except ImportError:
+ oauth = None
+
+# OAuth is optional
+try:
+ import oauth_provider
+ from oauth_provider.store import store as oauth_provider_store
+except ImportError:
+ oauth_provider = None
+ oauth_provider_store = None
# OAuth 2 support is optional
try:
import provider.oauth2 as oauth2_provider
-
- # Hack to fix submodule import issues
- submodules = ['backends', 'forms','managers','models','urls','views']
- for s in submodules:
- mod = __import__('provider.oauth2.%s.*' % s)
- setattr(oauth2_provider, s, mod)
+ # # Hack to fix submodule import issues
+ # submodules = ['backends', 'forms', 'managers', 'models', 'urls', 'views']
+ # for s in submodules:
+ # mod = __import__('provider.oauth2.%s.*' % s)
+ # setattr(oauth2_provider, s, mod)
+ from provider.oauth2 import backends as oauth2_provider_backends
+ from provider.oauth2 import models as oauth2_provider_models
+ from provider.oauth2 import forms as oauth2_provider_forms
except ImportError:
oauth2_provider = None
+ oauth2_provider_backends = None
+ oauth2_provider_models = None
+ oauth2_provider_forms = None