浏览代码

[YoutubeDL] Expect all kind of strings in urlopen

Now it doesn't fail if req is python2's str
Sergey M․ 11 年之前
父节点
当前提交
68b0973046
共有 1 个文件被更改,包括 3 次插入2 次删除
  1. 3 2
      youtube_dl/YoutubeDL.py

+ 3 - 2
youtube_dl/YoutubeDL.py

@@ -1250,12 +1250,13 @@ class YoutubeDL(object):
         # urllib chokes on URLs with non-ASCII characters (see http://bugs.python.org/issue3991)
         # urllib chokes on URLs with non-ASCII characters (see http://bugs.python.org/issue3991)
         # To work around aforementioned issue we will replace request's original URL with
         # To work around aforementioned issue we will replace request's original URL with
         # percent-encoded one
         # percent-encoded one
-        url = req if isinstance(req, compat_str) else req.get_full_url()
+        req_is_string = isinstance(req, basestring)
+        url = req if req_is_string else req.get_full_url()
         url_escaped = escape_url(url)
         url_escaped = escape_url(url)
 
 
         # Substitute URL if any change after escaping
         # Substitute URL if any change after escaping
         if url != url_escaped:
         if url != url_escaped:
-            if isinstance(req, compat_str):
+            if req_is_string:
                 req = url_escaped
                 req = url_escaped
             else:
             else:
                 req = compat_urllib_request.Request(
                 req = compat_urllib_request.Request(