]> jfr.im git - z_archive/twitter.git/blobdiff - twitter/oauth.py
Version 1.17.0
[z_archive/twitter.git] / twitter / oauth.py
index dcc062c79100fa328b4d642fe45a637a2a2685b7..b0d7f41b4bc77aec6c7f85a8172413d89e714ba3 100644 (file)
@@ -41,23 +41,23 @@ code it all goes like this::
 
 from __future__ import print_function
 
-from time import time
 from random import getrandbits
+from time import time
+
+from .util import PY_3_OR_HIGHER
 
 try:
     import urllib.parse as urllib_parse
     from urllib.parse import urlencode
-    PY3 = True
 except ImportError:
     import urllib2 as urllib_parse
     from urllib import urlencode
-    PY3 = False
 
 import hashlib
 import hmac
 import base64
 
-from .auth import Auth
+from .auth import Auth, MissingCredentialsError
 
 
 def write_token_file(filename, oauth_token, oauth_token_secret):
@@ -92,6 +92,10 @@ class OAuth(Auth):
         self.consumer_key = consumer_key
         self.consumer_secret = consumer_secret
 
+        if token_secret is None or consumer_secret is None:
+            raise MissingCredentialsError(
+                'You must supply strings for token_secret and consumer_secret, not None.')
+
     def encode_params(self, base_url, method, params):
         params = params.copy()
 
@@ -125,7 +129,7 @@ class OAuth(Auth):
 # So here is a specialized version which does exactly that.
 # In Python2, since there is no safe option for urlencode, we force it by hand
 def urlencode_noplus(query):
-    if not PY3:
+    if not PY_3_OR_HIGHER:
         new_query = []
         TILDE = '____TILDE-PYTHON-TWITTER____'
         for k,v in query: