Ofelia OpenFlow RSpec parsing support
[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={}):
12         xpath = '//link%s | //openflow:link%s' % (XpathFilter.xpath(filter), XpathFilter.xpath(filter))
13         link_elems = xml.xpath(xpath)
14         return Ofeliav1Link.get_link_objs(link_elems)
15
16     @staticmethod
17     def get_link_objs(link_elems):
18         links = []    
19         for link_elem in link_elems:
20             link = Link(link_elem.attrib, link_elem)
21             links.append(link)
22         return links