diff options
author | Sergey M․ <dstftw@gmail.com> | 2016-03-18 02:52:23 +0600 |
---|---|---|
committer | Sergey M․ <dstftw@gmail.com> | 2016-03-18 02:52:23 +0600 |
commit | 810c10baa1e0177a6a0ef39496f7e972db02d806 (patch) | |
tree | b56fc479aecf769502cfe8bc2dcfb6899170b877 | |
parent | 57f7e3c62df187457a057be88fca43136f4c507f (diff) |
[utils] Use compat_xpath
-rw-r--r-- | youtube_dl/utils.py | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/youtube_dl/utils.py b/youtube_dl/utils.py index 8ec1bd469..ef6e7c7cb 100644 --- a/youtube_dl/utils.py +++ b/youtube_dl/utils.py @@ -50,6 +50,7 @@ from .compat import ( compat_urllib_parse_urlparse, compat_urllib_request, compat_urlparse, + compat_xpath, shlex_quote, ) @@ -165,12 +166,7 @@ if sys.version_info >= (2, 7): return node.find(expr) else: def find_xpath_attr(node, xpath, key, val=None): - # 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 . ! - if isinstance(xpath, compat_str): - xpath = xpath.encode('ascii') - - for f in node.findall(xpath): + for f in node.findall(compat_xpath(xpath)): if key not in f.attrib: continue if val is None or f.attrib.get(key) == val: @@ -195,9 +191,7 @@ def xpath_with_ns(path, ns_map): def xpath_element(node, xpath, name=None, fatal=False, default=NO_DEFAULT): def _find_xpath(xpath): - if sys.version_info < (2, 7): # Crazy 2.6 - xpath = xpath.encode('ascii') - return node.find(xpath) + return node.find(compat_xpath(xpath)) if isinstance(xpath, (str, compat_str)): n = _find_xpath(xpath) |