c.convert(root.getroot())
"""
+from myslice.settings import logger
try:
# Much faster and lighter library (C implementation)
except ImportError:
from xml.etree import ElementTree
+from xml.etree.ElementTree import QName
+
import dateutil.parser
from wsag_model import Agreement
:param Element xmlroot: root element of xml to convert.
:rtype: wsag_model.Agreement
"""
+ # for name, value in xmlroot.attrib.items():
+ # logger.debug('SLA xmlconverter: {} = {}'.format(name, value))
+
if xmlroot.tag in self.agreement_tags:
result = Agreement()
- result.agreement_id = xmlroot.attrib["AgreementId"]
+ agreementId = str(QName(self._namespaces["wsag"], "AgreementId"))
+ result.agreement_id = xmlroot.attrib[agreementId]
elif xmlroot.tag in self.template_tags:
result = Template()
- result.template_id = xmlroot.attrib["TemplateId"]
+ templateId = str(QName(self._namespaces["wsag"], "TemplateId"))
+ result.template_id = xmlroot.attrib[templateId]
else:
raise ValueError("Not valid root element name: " + xmlroot.tag)
nss = self._namespaces
for element in elements:
servicename = _get_attribute(element, "ServiceName")
- for var in element.findall("wsag:Variables/wsag:Variable", nss):
+ for var in element.findall("wsag:VariableSet/wsag:Variable", nss):
key, value = self._parse_property(var, servicename)
result[key] = value
return name, result
def _parse_guarantees(self, elements):
-
result = {}
for element in elements:
key, value = self._parse_guarantee(element)