3a32f21752d9bae16672eb8719dd1895b8ab9f86
[sfa.git] / sfa / rspecs / elements / versions / ofeliav1link.py
1 from sfa.util.sfalogging import logger
2 from sfa.util.xml import XpathFilter
3 from sfa.util.xrn import Xrn, get_leaf
4
5 from sfa.rspecs.elements.element import Element
6 from sfa.rspecs.elements.link import Link
7
8 class Ofeliav1Link:
9
10     @staticmethod
11     def get_links(xml, filter=None):
12         if filter is None: filter = {}
13         xpath = '//link%s | //openflow:link%s' % (XpathFilter.xpath(filter), XpathFilter.xpath(filter))
14         link_elems = xml.xpath(xpath)
15         return Ofeliav1Link.get_link_objs(link_elems)
16
17     @staticmethod
18     def get_link_objs(link_elems):
19         links = []    
20         for link_elem in link_elems:
21             link = Link(link_elem.attrib, link_elem)
22             links.append(link)
23         return links