added add_sliver_attributes method
authorTony Mack <tmack@paris.CS.Princeton.EDU>
Tue, 15 Nov 2011 03:34:39 +0000 (22:34 -0500)
committerTony Mack <tmack@paris.CS.Princeton.EDU>
Tue, 15 Nov 2011 21:25:00 +0000 (16:25 -0500)
sfa/rspecs/elements/versions/sfav1Sliver.py

index 22989f9..20ffdf8 100644 (file)
@@ -13,12 +13,16 @@ class SFAv1Sliver:
             slivers = [slivers]
         for sliver in slivers:
             sliver_elem = Element.add_elements(xml, 'sliver', sliver, ['name'])[0]
+            SFAv1Sliver.add_sliver_attributes(sliver_elem, sliver.get('tags', []))
             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)
-            SFAv1PLTag.add_pl_tags(sliver_elem, sliver.get('tags', []))
+
+    @staticmethod
+    def add_sliver_attributes(xml, attributes):
+        SFAv1PLTag.add_pl_tags(xml, attributes)
                     
     @staticmethod
     def get_slivers(xml, filter={}):
@@ -29,6 +33,10 @@ class SFAv1Sliver:
             sliver = Sliver(sliver_elem.attrib,sliver_elem)
             if 'component_id' in xml.attrib:     
                 sliver['component_id'] = xml.attrib['component_id']
-            sliver['tags'] = SFAv1PLTag.get_pl_tags(sliver_elem, ignore=Sliver.fields.keys())
+            sliver['tags'] = SFAv1Sliver.get_sliver_attributes(sliver_elem)
             slivers.append(sliver)
-        return slivers            
+        return slivers           
+
+    @staticmethod
+    def get_sliver_attributes(xml, filter={}):
+        return SFAv1PLTag.get_pl_tags(xml, ignore=Sliver.fields.keys())