components now ignore namespaces in matching completely for server compatibility
This commit is contained in:
@@ -1,11 +1,25 @@
|
||||
from . import base
|
||||
from xml.etree import cElementTree
|
||||
|
||||
ignore_ns = False
|
||||
|
||||
class MatchXPath(base.MatcherBase):
|
||||
|
||||
def match(self, xml):
|
||||
x = cElementTree.Element('x')
|
||||
x.append(xml)
|
||||
if x.find(self._criteria) is not None:
|
||||
if not ignore_ns:
|
||||
if x.find(self._criteria) is not None:
|
||||
return True
|
||||
return False
|
||||
else:
|
||||
criteria = [c.split('}')[-1] for c in self._criteria.split('/')]
|
||||
xml = x
|
||||
for tag in criteria:
|
||||
children = [c.tag.split('}')[-1] for c in xml.getchildren()]
|
||||
try:
|
||||
idx = children.index(tag)
|
||||
except ValueError:
|
||||
return False
|
||||
xml = xml.getchildren()[idx]
|
||||
return True
|
||||
return False
|
||||
|
||||
Reference in New Issue
Block a user