got the SlicePickerWindow working, added ability to pick user slices in addition...
[sface.git] / sface / sfidata.py
index 3405483..a70cb47 100644 (file)
@@ -73,6 +73,21 @@ class SfaceRSpec(RSpec):
                 for tag in sliver['tags']:
                     etree.SubElement(sliver_elem, tag['tagname']).text = value=tag['value']
 
+    # these should be moved to SFAv1, etc.
+    def get_node_boot_state(self, node, network):
+        return self.get_node_element(node, network).attrib.get("boot_state","")
+
+    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
@@ -113,7 +128,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 []