|
@ -280,6 +280,11 @@ if sys.version_info >= (2, 7): |
|
|
return node.find(expr) |
|
|
return node.find(expr) |
|
|
else: |
|
|
else: |
|
|
def find_xpath_attr(node, xpath, key, val): |
|
|
def find_xpath_attr(node, xpath, key, val): |
|
|
|
|
|
# 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, unicode): |
|
|
|
|
|
xpath = xpath.encode('ascii') |
|
|
|
|
|
|
|
|
for f in node.findall(xpath): |
|
|
for f in node.findall(xpath): |
|
|
if f.attrib.get(key) == val: |
|
|
if f.attrib.get(key) == val: |
|
|
return f |
|
|
return f |
|
|