From 4b46c0a15f1bdb8987ce78c0ded40dbc92b6e03e Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Fri, 24 May 2002 17:58:05 +0000 Subject: Don't require Unicode support. --- Lib/urllib.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/Lib/urllib.py b/Lib/urllib.py index 50bed84..eb7e496 100644 --- a/Lib/urllib.py +++ b/Lib/urllib.py @@ -906,11 +906,18 @@ def basejoin(base, url): # unquote('abc%20def') -> 'abc def' # quote('abc def') -> 'abc%20def') +if hasattr(types, "UnicodeType"): + def _is_unicode(x): + return isinstance(x, unicode) +else: + def _is_unicode(x): + return 0 + def toBytes(url): """toBytes(u"URL") --> 'URL'.""" # Most URL schemes require ASCII. If that changes, the conversion # can be relaxed - if type(url) is types.UnicodeType: + if _is_unicode(url): try: url = url.encode("ASCII") except UnicodeError: @@ -1189,7 +1196,7 @@ def urlencode(query,doseq=0): if type(v) == types.StringType: v = quote_plus(v) l.append(k + '=' + v) - elif type(v) == types.UnicodeType: + elif _is_unicode(v): # is there a reasonable way to convert to ASCII? # encode generates a string, but "replace" or "ignore" # lose information and "strict" can raise UnicodeError -- cgit v0.12