X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=youtube_dl%2Fcompat.py;h=83ee7e25747532c61f344aaea921021690669f61;hb=582be3584761030bfbee13b0c6ea9e6ce2c8a790;hp=83b96d38fe66f063608a4669b9880da1481fda23;hpb=dfe5fa49aed02cf36ba9f743b11b0903554b5e56;p=youtube-dl diff --git a/youtube_dl/compat.py b/youtube_dl/compat.py index 83b96d38f..83ee7e257 100644 --- a/youtube_dl/compat.py +++ b/youtube_dl/compat.py @@ -2491,6 +2491,7 @@ class _TreeBuilder(etree.TreeBuilder): def doctype(self, name, pubid, system): pass + if sys.version_info[0] >= 3: def compat_etree_fromstring(text): return etree.XML(text, parser=etree.XMLParser(target=_TreeBuilder())) @@ -2596,9 +2597,12 @@ except ImportError: # Python < 3.3 try: - assert shlex.split('中文') == ['中文'] + args = shlex.split('中文') + assert (isinstance(args, list) and + isinstance(args[0], compat_str) and + args[0] == '中文') compat_shlex_split = shlex.split -except (AssertionError, UnicodeWarning, UnicodeEncodeError): +except (AssertionError, UnicodeEncodeError): # 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): @@ -2784,6 +2788,7 @@ def workaround_optparse_bug9161(): return real_add_option(self, *bargs, **bkwargs) optparse.OptionGroup.add_option = _compat_add_option + if hasattr(shutil, 'get_terminal_size'): # Python >= 3.3 compat_get_terminal_size = shutil.get_terminal_size else: