from sfa.util.xrn import Xrn
+from sfa.util.plxrn import PlXrn
from sfa.util.xml import XmlElement
from sfa.rspecs.elements.element import Element
from sfa.rspecs.elements.sliver import Sliver
slivers = [slivers]
for sliver in slivers:
sliver_elem = xml.add_instance('sliver', sliver, ['name'])
- for tag in sliver.get('tags', []):
- SFAv1Sliver.add_sliver_attribute(sliver_elem, tag['tagname'], tag['value'])
+ tags = sliver.get('tags', [])
+ if tags:
+ for tag in tags:
+ SFAv1Sliver.add_sliver_attribute(sliver_elem, tag['tagname'], tag['value'])
if sliver.get('sliver_id'):
- sliver_id_leaf = Xrn(sliver.get('sliver_id')).get_leaf()
- sliver_id_parts = sliver_id_leaf.split(':')
- name = sliver_id_parts[0]
+ name = PlXrn(xrn=sliver.get('sliver_id')).pl_slicename()
sliver_elem.set('name', name)
@staticmethod
for elem in xml.iterchildren():
if elem.tag not in Sliver.fields:
xml_element = XmlElement(elem, xml.namespaces)
- instance = Element(xml_element)
+ instance = Element(fields=xml_element, element=elem)
instance['name'] = elem.tag
instance['value'] = elem.text
attribs.append(instance)