commit: 57f7e3c62df187457a057be88fca43136f4c507f
parent 0d0e282912a7ade43a148518c742557c310a41a3
Author: Sergey M․ <dstftw@gmail.com>
Date: Fri, 18 Mar 2016 02:51:38 +0600
[compat] Add compat_xpath
Diffstat:
1 file changed, 11 insertions(+), 0 deletions(-)
diff --git 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',