X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sfa%2Frspecs%2Felements%2Fversions%2Fnitosv1Sliver.py;fp=sfa%2Frspecs%2Felements%2Fversions%2Fnitosv1Sliver.py;h=0000000000000000000000000000000000000000;hb=1a9718ae903eef6c6485c851a81c2f794e971ea2;hp=6ceb87fc299a842f5ee0c336bd11421c360afe37;hpb=6766a510ba0528c1c880497d4ae5a547cc76844a;p=sfa.git diff --git a/sfa/rspecs/elements/versions/nitosv1Sliver.py b/sfa/rspecs/elements/versions/nitosv1Sliver.py deleted file mode 100644 index 6ceb87fc..00000000 --- a/sfa/rspecs/elements/versions/nitosv1Sliver.py +++ /dev/null @@ -1,61 +0,0 @@ -from sfa.util.xrn import Xrn -from sfa.util.xml import XmlElement - -from sfa.rspecs.elements.element import Element -from sfa.rspecs.elements.sliver import Sliver -from sfa.rspecs.elements.versions.nitosv1PLTag import NITOSv1PLTag - -#from sfa.planetlab.plxrn import PlXrn - - -class NITOSv1Sliver: - - @staticmethod - def add_slivers(xml, slivers): - if not slivers: - return - if not isinstance(slivers, list): - slivers = [slivers] - for sliver in slivers: - sliver_elem = xml.add_instance('sliver', sliver, ['name']) - tags = sliver.get('tags', []) - if tags: - for tag in tags: - NITOSv1Sliver.add_sliver_attribute( - sliver_elem, tag['tagname'], tag['value']) - if sliver.get('sliver_id'): - name = Xrn(xrn=sliver.get('sliver_id') - ).get_hrn().split('.')[-1] - sliver_elem.set('name', name) - - @staticmethod - def add_sliver_attribute(xml, name, value): - elem = xml.add_element(name) - elem.set_text(value) - - @staticmethod - def get_sliver_attributes(xml): - attribs = [] - for elem in xml.iterchildren(): - if elem.tag not in Sliver.fields: - xml_element = XmlElement(elem, xml.namespaces) - instance = Element(fields=xml_element, element=elem) - instance['name'] = elem.tag - instance['value'] = elem.text - attribs.append(instance) - return attribs - - @staticmethod - def get_slivers(xml, filter=None): - if filter is None: - filter = {} - xpath = './default:sliver | ./sliver' - sliver_elems = xml.xpath(xpath) - slivers = [] - for sliver_elem in sliver_elems: - sliver = Sliver(sliver_elem.attrib, sliver_elem) - if 'component_id' in xml.attrib: - sliver['component_id'] = xml.attrib['component_id'] - sliver['tags'] = NITOSv1Sliver.get_sliver_attributes(sliver_elem) - slivers.append(sliver) - return slivers