remove obsolete code
[sface.git] / sface / sfidata.py
index 3405483..284c090 100644 (file)
@@ -50,28 +50,19 @@ class SfaceRSpec(RSpec):
     def remove_sliver_attribute(self, hostname, name, value, network=None):
         self.version.remove_sliver_attribute(hostname, name, value, network)
 
-    #def add_slivers(self, slivers, network=None, sliver_urn=None, no_dupes=False):
-    #    return self.version.add_slivers(slivers, network, sliver_urn, no_dupes)
-
     def merge_node(self, source_node_tag, network, no_dupes=False):
         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):
-        # add slice name to network tag
-        network_tags = self.xml.xpath('//network')
-        if network_tags:
-            network_tag = network_tags[0]
-            network_tag.set('slice', urn_to_hrn(sliver_urn)[0])
-
-        # add slivers
-        for sliver in slivers:
-            node_elem = self.get_node_element(sliver['hostname'], network)
-            if not node_elem: continue
-            sliver_elem = etree.SubElement(node_elem, 'sliver')
-            if 'tags' in sliver:
-                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):
@@ -113,7 +104,16 @@ class SfiData:
     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 []
 
@@ -137,7 +137,7 @@ class SfiData:
             xml = open(rspec_file).read()
             rspec = SfaceRSpec(rspec=xml) #rspec = parse_rspec(xml)
 
-            self.purgeNonSliceResources(rspec)
+            #self.purgeNonSliceResources(rspec)
 
             return rspec
         return None