瀏覽代碼

[compat] Do not use unicode

If the code ever runs on 3.x, it would fail. Even if it never does, the unicode name confuses Python 3 code analysis tools.
Philipp Hagemeister 10 年之前
父節點
當前提交
953fed280f
共有 1 個文件被更改,包括 7 次插入7 次删除
  1. 7 7
      youtube_dl/compat.py

+ 7 - 7
youtube_dl/compat.py

@@ -80,6 +80,11 @@ try:
 except ImportError:
 except ImportError:
     import BaseHTTPServer as compat_http_server
     import BaseHTTPServer as compat_http_server
 
 
+try:
+    compat_str = unicode  # Python 2
+except NameError:
+    compat_str = str
+
 try:
 try:
     from urllib.parse import unquote_to_bytes as compat_urllib_parse_unquote_to_bytes
     from urllib.parse import unquote_to_bytes as compat_urllib_parse_unquote_to_bytes
     from urllib.parse import unquote as compat_urllib_parse_unquote
     from urllib.parse import unquote as compat_urllib_parse_unquote
@@ -100,7 +105,7 @@ except ImportError:  # Python 2
             # Is it a string-like object?
             # Is it a string-like object?
             string.split
             string.split
             return b''
             return b''
-        if isinstance(string, unicode):
+        if isinstance(string, compat_str):
             string = string.encode('utf-8')
             string = string.encode('utf-8')
         bits = string.split(b'%')
         bits = string.split(b'%')
         if len(bits) == 1:
         if len(bits) == 1:
@@ -150,11 +155,6 @@ except ImportError:  # Python 2
         string = string.replace('+', ' ')
         string = string.replace('+', ' ')
         return compat_urllib_parse_unquote(string, encoding, errors)
         return compat_urllib_parse_unquote(string, encoding, errors)
 
 
-try:
-    compat_str = unicode  # Python 2
-except NameError:
-    compat_str = str
-
 try:
 try:
     compat_basestring = basestring  # Python 2
     compat_basestring = basestring  # Python 2
 except NameError:
 except NameError:
@@ -234,7 +234,7 @@ else:
     # Working around shlex issue with unicode strings on some python 2
     # Working around shlex issue with unicode strings on some python 2
     # versions (see http://bugs.python.org/issue1548891)
     # versions (see http://bugs.python.org/issue1548891)
     def compat_shlex_split(s, comments=False, posix=True):
     def compat_shlex_split(s, comments=False, posix=True):
-        if isinstance(s, unicode):
+        if isinstance(s, compat_str):
             s = s.encode('utf-8')
             s = s.encode('utf-8')
         return shlex.split(s, comments, posix)
         return shlex.split(s, comments, posix)