diff options
Diffstat (limited to 'youtube_dl')
| -rw-r--r-- | youtube_dl/compat.py | 11 | 
1 files changed, 11 insertions, 0 deletions
diff --git a/youtube_dl/compat.py b/youtube_dl/compat.py index 74702786a..dbb91a6ef 100644 --- a/youtube_dl/compat.py +++ b/youtube_dl/compat.py @@ -256,6 +256,16 @@ else:                  el.text = el.text.decode('utf-8')          return doc +if sys.version_info < (2, 7): +    # Here comes the crazy part: In 2.6, if the xpath is a unicode, +    # .//node does not match if a node is a direct child of . ! +    def compat_xpath(xpath): +        if isinstance(xpath, compat_str): +            xpath = xpath.encode('ascii') +        return xpath +else: +    compat_xpath = lambda xpath: xpath +  try:      from urllib.parse import parse_qs as compat_parse_qs  except ImportError:  # Python 2 @@ -585,6 +595,7 @@ __all__ = [      'compat_urlparse',      'compat_urlretrieve',      'compat_xml_parse_error', +    'compat_xpath',      'shlex_quote',      'subprocess_check_output',      'workaround_optparse_bug9161',  | 
