diff options
author | Sergey M․ <dstftw@gmail.com> | 2015-09-05 21:40:44 +0600 |
---|---|---|
committer | Sergey M․ <dstftw@gmail.com> | 2015-09-05 21:40:44 +0600 |
commit | 51f579b6358ab56ff9d03ef72e5bfeb345632b4e (patch) | |
tree | 3c4f2abd77407c5ed8f9d9b0860cdac6727e8b03 | |
parent | 4abf617b9c662851889de4a3ceb5aa63040dc21e (diff) |
[compat] Add compat shlex.split
-rw-r--r-- | youtube_dl/compat.py | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/youtube_dl/compat.py b/youtube_dl/compat.py index ace5bd716..9b77316f9 100644 --- a/youtube_dl/compat.py +++ b/youtube_dl/compat.py @@ -5,6 +5,7 @@ import getpass import optparse import os import re +import shlex import shutil import socket import subprocess @@ -227,6 +228,17 @@ except ImportError: # Python < 3.3 return "'" + s.replace("'", "'\"'\"'") + "'" +if sys.version_info > (2, 7, 2): + 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): + s = s.encode('utf-8') + return shlex.split(s, comments, posix) + + def compat_ord(c): if type(c) is int: return c @@ -459,6 +471,7 @@ __all__ = [ 'compat_ord', 'compat_parse_qs', 'compat_print', + 'compat_shlex_split', 'compat_socket_create_connection', 'compat_str', 'compat_subprocess_get_DEVNULL', |