Merge branch 'master' into senslab2
[sfa.git] / sfa / rspecs / elements / versions / pgv2SliverType.py
index 5b47eb7..94a9f63 100644 (file)
@@ -4,14 +4,18 @@ from sfa.rspecs.elements.sliver import Sliver
 class PGv2SliverType:
 
     @staticmethod
-    def add_slivers(xml, sliver):
+    def add_slivers(xml, slivers):
         if not slivers:
             return 
         if not isinstance(slivers, list):
             slivers = [slivers]
         for sliver in slivers: 
-            sliver_elem = Element.add(xml, 'sliver_type', sliver, ['type', 'client_id'])
-            PGv2Sliver.add_sliver_attributes(sliver_elem, sliver.get('pl_tags', []))
+            sliver_elem = xml.add_element('sliver_type')
+            if sliver.get('type'):
+                sliver_elem.set('name', sliver['type'])
+            if sliver.get('client_id'):
+                sliver_elem.set('client_id', sliver['client_id'])  
+            PGv2SliverType.add_sliver_attributes(sliver_elem, sliver.get('pl_tags', []))
     
     @staticmethod
     def add_sliver_attributes(xml, attributes):
@@ -29,9 +33,11 @@ class PGv2SliverType:
         sliver_elems = xml.xpath(xpath)
         slivers = []
         for sliver_elem in sliver_elems:
-            sliver = Sliver(sliver_elem.attrib,sliver_elm)
+            sliver = Sliver(sliver_elem.attrib,sliver_elem)
             if 'component_id' in xml.attrib:     
                 sliver['component_id'] = xml.attrib['component_id']
+            if 'name' in sliver_elem.attrib:
+                sliver['type'] = sliver_elem.attrib['name']
             slivers.append(sliver)
         return slivers