def fetch_username(self, rspec): username = '' filter = {} xpath = '//node%s | //default:node%s' % (XpathFilter.xpath(filter), XpathFilter.xpath(filter)) node_elems = rspec.xml.xpath(xpath) for node_elem in node_elems: for services_elem in node_elem.xpath('./default:services | ./services'): for login_elem in services_elem.xpath('./default:login | ./login'): username = login_elem.attrib['username'] return username
def get_elements(self, element_type, filter={}): """ search for a registered element """ if element_type not in self.elements: msg = "Unable to search for element %s in rspec, expath expression not found." % element_type raise InvalidRSpecElement(element_type, extra=msg) rspec_element = self.get_rspec_element(element_type) xpath = rspec_element.path + XpathFilter.xpath(filter) return self.xml.xpath(xpath)
def get_elements(self, element_type, filter={}): """ search for a registered element """ if element_type not in self.elements: msg = "Unable to search for element %s in rspec, expath expression not found." % \ element_type raise InvalidRSpecElement(element_type, extra=msg) rspec_element = self.get_rspec_element(element_type) xpath = rspec_element.path + XpathFilter.xpath(filter) return self.xml.xpath(xpath)
def get_nodes(xml, filter={}): xpath = "//node%s | //default:node%s" % (XpathFilter.xpath(filter), XpathFilter.xpath(filter)) node_elems = xml.xpath(xpath) return SFAv1Node.get_node_objs(node_elems)
def get_leases(xml, filter={}): xpath = '//lease%s | //default:lease%s' % (XpathFilter.xpath(filter), XpathFilter.xpath(filter)) lease_elems = xml.xpath(xpath) return PGv2Lease.get_lease_objs(lease_elems)
def get_channels(xml, filter={}): xpath = '//channel%s | //default:channel%s' % (XpathFilter.xpath(filter), XpathFilter.xpath(filter)) channel_elems = xml.xpath(xpath) return NITOSv1Channel.get_channel_objs(channel_elems)
def get_links(xml, filter=None): if filter is None: filter = {} xpath = '//link%s | //openflow:link%s' % (XpathFilter.xpath(filter), XpathFilter.xpath(filter)) link_elems = xml.xpath(xpath) return Ofeliav1Link.get_link_objs(link_elems)
def get_datapaths(xml, filter=None): if filter is None: filter = {} #xpath = '//datapath%s | //default:datapath%s' % (XpathFilter.xpath(filter), XpathFilter.xpath(filter)) xpath = '//datapath%s | //openflow:datapath%s' % (XpathFilter.xpath(filter), XpathFilter.xpath(filter)) datapath_elems = xml.xpath(xpath) return Ofeliav1Datapath.get_datapath_objs(datapath_elems)
def get_nodes(xml, filter={}): xpath = '//node%s | //default:node%s' % (XpathFilter.xpath(filter), XpathFilter.xpath(filter)) node_elems = xml.xpath(xpath) return PGv2Node.get_node_objs(node_elems)
def get_leases(xml, filter={}): xpath = '//lease%s | //default:lease%s' % (XpathFilter.xpath(filter), XpathFilter.xpath(filter)) lease_elems = xml.xpath(xpath) return SFAv1Lease.get_lease_objs(lease_elems)
def get_nodes(xml, filter=None): if filter is None: filter={} xpath = '//node%s | //default:node%s' % (XpathFilter.xpath(filter), \ XpathFilter.xpath(filter)) node_elems = xml.xpath(xpath) return Iotlabv1Node.get_node_objs(node_elems)
def get_leases(xml, filter=None): if filter is None: filter={} xpath = '//lease%s | //default:lease%s' % (XpathFilter.xpath(filter), XpathFilter.xpath(filter)) lease_elems = xml.xpath(xpath) return Iotlabv1Lease.get_lease_objs(lease_elems)
def get_nodes(xml, filter={}): xpath = '//node%s | //default:node%s' % (XpathFilter.xpath(filter), \ XpathFilter.xpath(filter)) node_elems = xml.xpath(xpath) return Iotlabv1Node.get_node_objs(node_elems)
def get_links(xml, filter={}): xpath = '//link%s | //openflow:link%s' % (XpathFilter.xpath(filter), XpathFilter.xpath(filter)) link_elems = xml.xpath(xpath) return Ofeliav1Link.get_link_objs(link_elems)
def get_datapaths(xml, filter={}): #xpath = '//datapath%s | //default:datapath%s' % (XpathFilter.xpath(filter), XpathFilter.xpath(filter)) xpath = '//datapath%s | //openflow:datapath%s' % ( XpathFilter.xpath(filter), XpathFilter.xpath(filter)) datapath_elems = xml.xpath(xpath) return Ofeliav1Datapath.get_datapath_objs(datapath_elems)