X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;ds=sidebyside;f=youtube_dl%2Fcompat.py;h=1ff42d94b95d9098cf270b883176bb2a06e54297;hb=8aab976bbd0a009a15b1737668882e44d84c7a71;hp=9b77316f9e3268eab2816f965b03858d98f69b6a;hpb=51f579b6358ab56ff9d03ef72e5bfeb345632b4e;p=youtube-dl diff --git a/youtube_dl/compat.py b/youtube_dl/compat.py index 9b77316f9..1ff42d94b 100644 --- a/youtube_dl/compat.py +++ b/youtube_dl/compat.py @@ -80,6 +80,11 @@ try: except ImportError: import BaseHTTPServer as compat_http_server +try: + compat_str = unicode # Python 2 +except NameError: + compat_str = str + try: from urllib.parse import unquote_to_bytes as compat_urllib_parse_unquote_to_bytes from urllib.parse import unquote as compat_urllib_parse_unquote @@ -100,7 +105,7 @@ except ImportError: # Python 2 # Is it a string-like object? string.split return b'' - if isinstance(string, unicode): + if isinstance(string, compat_str): string = string.encode('utf-8') bits = string.split(b'%') if len(bits) == 1: @@ -150,11 +155,6 @@ except ImportError: # Python 2 string = string.replace('+', ' ') return compat_urllib_parse_unquote(string, encoding, errors) -try: - compat_str = unicode # Python 2 -except NameError: - compat_str = str - try: compat_basestring = basestring # Python 2 except NameError: @@ -228,13 +228,13 @@ except ImportError: # Python < 3.3 return "'" + s.replace("'", "'\"'\"'") + "'" -if sys.version_info > (2, 7, 2): +if sys.version_info >= (2, 7, 3): compat_shlex_split = shlex.split else: # Working around shlex issue with unicode strings on some python 2 # versions (see http://bugs.python.org/issue1548891) def compat_shlex_split(s, comments=False, posix=True): - if isinstance(s, unicode): + if isinstance(s, compat_str): s = s.encode('utf-8') return shlex.split(s, comments, posix)