aboutsummaryrefslogtreecommitdiff
path: root/youtube_dl/utils.py
diff options
context:
space:
mode:
authorPhilipp Hagemeister <phihag@phihag.de>2013-07-11 16:12:08 +0200
committerPhilipp Hagemeister <phihag@phihag.de>2013-07-11 16:12:08 +0200
commit59ae56fad5dbbc7178024e3e4a539f3cc6bc60d5 (patch)
tree15625eb72dc577c0db5163ffef379de702e18b37 /youtube_dl/utils.py
parent690e872c51646fd99147f33be38fbbb74c91d8fb (diff)
downloadyoutube-dl-59ae56fad5dbbc7178024e3e4a539f3cc6bc60d5.tar.xz
Add helper function find_path_attr
Diffstat (limited to 'youtube_dl/utils.py')
-rw-r--r--youtube_dl/utils.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/youtube_dl/utils.py b/youtube_dl/utils.py
index b9bff5fde..76fa2950c 100644
--- a/youtube_dl/utils.py
+++ b/youtube_dl/utils.py
@@ -198,6 +198,20 @@ else:
with open(fn, 'w', encoding='utf-8') as f:
json.dump(obj, f)
+if sys.version_info >= (2,7):
+ def find_xpath_attr(node, xpath, key, val):
+ """ Find the xpath xpath[@key=val] """
+ assert re.match(r'^[a-z]+$', key)
+ assert re.match(r'^[a-z]*$', val)
+ expr = xpath + u"[@%s='%s']" % (key, val)
+ return node.find(expr)
+else:
+ def find_xpath_attr(node, xpath, key, val):
+ for f in node.findall(xpath):
+ if f.attrib.get(key) == val:
+ return f
+ return None
+
def htmlentity_transform(matchobj):
"""Transforms an HTML entity to a character.