Skip to content

Commit

Permalink
Merge pull request #115 from melor/py33
Browse files Browse the repository at this point in the history
core: fix for working with python 3.3
  • Loading branch information
gabrielfalcao committed Nov 21, 2013
2 parents 67d64c4 + 5c6e776 commit 4691786
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 4 deletions.
10 changes: 10 additions & 0 deletions httpretty/compat.py
Expand Up @@ -59,9 +59,19 @@ def __repr__(self):

try: # pragma: no cover
from urllib.parse import urlsplit, urlunsplit, parse_qs, quote, quote_plus, unquote
unquote_utf8 = unquote
except ImportError: # pragma: no cover
from urlparse import urlsplit, urlunsplit, parse_qs, unquote
from urllib import quote, quote_plus
def unquote_utf8(qs):
if isinstance(qs, text_type):
qs = qs.encode('utf-8')
s = unquote(qs)
if isinstance(s, byte_type):
return s.decode("utf-8")
else:
return s


try: # pragma: no cover
from http.server import BaseHTTPRequestHandler
Expand Down
8 changes: 4 additions & 4 deletions httpretty/core.py
Expand Up @@ -50,6 +50,7 @@
urlsplit,
parse_qs,
unquote,
unquote_utf8,
ClassTypes,
basestring
)
Expand Down Expand Up @@ -182,12 +183,11 @@ def __str__(self):
)

def parse_querystring(self, qs):
expanded = decode_utf8(unquote(utf8(qs)))

expanded = unquote_utf8(qs)
parsed = parse_qs(expanded)
result = {}
for k, v in parsed.iteritems():
result[k] = map(decode_utf8, v)
for k in parsed:
result[k] = map(decode_utf8, parsed[k])

return result

Expand Down

0 comments on commit 4691786

Please sign in to comment.