from sfa.rspecs.elements.pl_tag import PLTag
from sfa.rspecs.rspec_elements import RSpecElement, RSpecElements
from sfa.rspecs.elements.versions.sfav1Network import SFAv1Network
+from sfa.rspecs.elements.versions.pgv2Services import PGv2Services
class SFAv1Node:
if 'bw_unallocated' in node and node['bw_unallocated']:
bw_unallocated = etree.SubElement(node_elem, 'bw_unallocated', units='kbps').text = str(int(node['bw_unallocated'])/1000)
+ if node.get('services'):
+ PGv2Services.add_services(node_elem, node.get('services'))
+
if 'tags' in node:
for tag in node['tags']:
# expose this hard wired list of tags, plus the ones that are marked 'sfa' in their category
if tag['name'] in ['fcdistro', 'arch']:
tag_element = etree.SubElement(node_elem, tag['name']).text=tag['value']
- if 'slivers' in node:
+ if node.get('slivers'):
for sliver in node['slivers']:
sliver_elem = etree.SubElement(node_elem, 'sliver')
- if 'name' in sliver and sliver['name']:
- sliver_elem.set('name', sliver['name'])
+ 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]
+ sliver_elem.set('name', name)
@staticmethod
def add_slivers(xml, slivers):