return self.version.merge_node(source_node_tag, network, no_dupes)
# sfav1.add_slivers isn't working for us...
- def add_slivers(self, slivers, network=None, sliver_urn=None, no_dupes=False):
+ def add_slivers_xxx(self, slivers, network=None, sliver_urn=None, no_dupes=False):
# add slice name to network tag
network_tags = self.xml.xpath('//network')
if network_tags:
for tag in sliver['tags']:
etree.SubElement(sliver_elem, tag['tagname']).text = value=tag['value']
+ def get_node_sliver_type(self, node, network):
+ node = self.get_node_element(node, network)
+ if node is None:
+ return ""
+
+ sliver_types = node.xpath("sliver_type")
+ if len(sliver_types)>0:
+ return sliver_types[0].attrib.get("name", "")
+
+ return ""
+
class SfiData:
def __init__(self):
pass
def getUserSliceHrns(self):
rec = self.getUserRecord()
if rec:
- return rec.get_field("slices")
+ slices = rec.get_field("slices")
+ if (type(slices)!=list) or (len(slices)<1):
+ return []
+
+ # get_field("slices") is returning [{"text": name}, {"text": name}, ...]
+ if (type(slices[0])==dict):
+ if "text" in slices[0]:
+ slices = [x["text"] for x in slices]
+
+ return slices
return []
xml = open(rspec_file).read()
rspec = SfaceRSpec(rspec=xml) #rspec = parse_rspec(xml)
- self.purgeNonSliceResources(rspec)
+ #self.purgeNonSliceResources(rspec)
return rspec
return None