Skip to content

Commit 0575c84

Browse files
muffinresearchjoestump
authored andcommitted
added compatibility for older versions of python which don't have urlparse.parse_qs
1 parent 39d1d91 commit 0575c84

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

oauth2/__init__.py

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,11 @@
3030
import binascii
3131
import httplib2
3232

33+
try:
34+
from urlparse import parse_qs, parse_qsl
35+
except ImportError:
36+
from cgi import parse_qs, parse_qsl
37+
3338

3439
VERSION = '1.0' # Hi Blaine!
3540
HTTP_METHOD = 'GET'
@@ -192,7 +197,7 @@ def from_string(s):
192197
if not len(s):
193198
raise ValueError("Invalid parameter string.")
194199

195-
params = urlparse.parse_qs(s, keep_blank_values=False)
200+
params = parse_qs(s, keep_blank_values=False)
196201
if not len(params):
197202
raise ValueError("Invalid parameter string.")
198203

@@ -435,7 +440,7 @@ def _split_header(header):
435440
@staticmethod
436441
def _split_url_string(param_str):
437442
"""Turn URL string into parameters."""
438-
parameters = urlparse.parse_qs(param_str, keep_blank_values=False)
443+
parameters = parse_qs(param_str, keep_blank_values=False)
439444
for k, v in parameters.iteritems():
440445
parameters[k] = urllib.unquote(v[0])
441446
return parameters
@@ -567,10 +572,10 @@ def request(self, uri, method="GET", body=None, headers=None,
567572
headers = {}
568573

569574
if body and method == "POST":
570-
parameters = dict(urlparse.parse_qsl(body))
575+
parameters = dict(parse_qsl(body))
571576
elif method == "GET":
572577
parsed = urlparse.urlparse(uri)
573-
parameters = urlparse.parse_qs(parsed.query)
578+
parameters = parse_qs(parsed.query)
574579
else:
575580
parameters = None
576581

0 commit comments

Comments
 (0)