diff options
author | Idan Gazit <idan@gazit.me> | 2012-03-12 14:21:00 -0700 |
---|---|---|
committer | Idan Gazit <idan@gazit.me> | 2012-03-12 14:21:00 -0700 |
commit | 38d00ac1569bbdfdd88f8c3e919adc7651cb6b51 (patch) | |
tree | 3e771b1f5a0f453f59018a2a6566df855c344f18 /oauthlib | |
parent | ff77939684479f951c9da3720a3d67cdedc5951e (diff) | |
download | oauthlib-38d00ac1569bbdfdd88f8c3e919adc7651cb6b51.tar.gz |
Add OAuth-safe urlencode
Diffstat (limited to 'oauthlib')
-rw-r--r-- | oauthlib/utils.py | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/oauthlib/utils.py b/oauthlib/utils.py index 3052fe1..b8854e5 100644 --- a/oauthlib/utils.py +++ b/oauthlib/utils.py @@ -78,3 +78,14 @@ def escape(s): if not isinstance(s, unicode): raise ValueError('Only unicode objects are escapable.') return urllib.quote(s.encode('utf-8'), safe='~') + + +def urlencode(query): + """Encode a sequence of two-element tuples or dictionary into a URL query string. + + Operates using an OAuth-safe escape() method, in contrast to urllib.urlenocde. + """ + # Convert dictionaries to list of tuples + if isinstance(query, dict): + query = query.items() + "&".join(['%s=%s' % (escape(k), escape(v)) for k, v in query]) |