]> granicus.if.org Git - python/commitdiff
Don't require Unicode support.
authorGuido van Rossum <guido@python.org>
Fri, 24 May 2002 17:58:05 +0000 (17:58 +0000)
committerGuido van Rossum <guido@python.org>
Fri, 24 May 2002 17:58:05 +0000 (17:58 +0000)
Lib/urllib.py

index 50bed84ee4f29e4e126322158d9d554fc9d9fbac..eb7e496c822a60761aa3074c32ce39d2b722ceb8 100644 (file)
@@ -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