from xml.etree.ElementTree import ElementTree import model class DataXML(model.Data): """Reads network information from a XML file""" def parse_config(): """Reads and sets up XML config file fields""" self.data_file = self.config['Storage']['xml_file'] def load_data(self): """Parse XML for getting network information""" # Ugly implementation. Beautify. root = ElementTree(file=self.data_file).getroot() for elem in root: network = model.Network(elem.attrib['name']) for e in elem: if e.tag == 'ip_block': network.ip_blocks.append(e.text) else: network.data[e.tag] = e.text self.networks.append(network)