aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey M․ <dstftw@gmail.com>2016-03-18 02:52:23 +0600
committerSergey M․ <dstftw@gmail.com>2016-03-18 02:52:23 +0600
commit810c10baa1e0177a6a0ef39496f7e972db02d806 (patch)
treeb56fc479aecf769502cfe8bc2dcfb6899170b877
parent57f7e3c62df187457a057be88fca43136f4c507f (diff)
[utils] Use compat_xpath
-rw-r--r--youtube_dl/utils.py12
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)