1 from sfa.rspecs.elements.element import Element
2 from sfa.rspecs.elements.sliver import Sliver
7 def add_slivers(xml, sliver):
8 if not isinstance(slivers, list):
10 for sliver in slivers:
11 sliver_elem = Element.add(xml, 'sliver_type', sliver, ['type', 'client_id'])
12 for tag in sliver.get('tags', []):
13 if tag['name'] == 'initscript':
14 sliver_elem.add_element('{%s}initscript' % xml.namespaces['planetlab'], name=tag['value'])
17 def get_slivers(xml, filter={}):
18 xpath = './default:sliver_type | ./sliver_type'
19 sliver_elems = xml.xpath(xpath)
21 for sliver_elem in sliver_elems:
22 sliver = Sliver(sliver_elem.attrib,sliver_elm)
23 if 'component_id' in xml.attrib:
24 sliver['component_id'] = xml.attrib['component_id']
25 slivers.append(sliver)