diff options
Diffstat (limited to 'xml.py')
-rw-r--r-- | xml.py | 23 |
1 files changed, 23 insertions, 0 deletions
@@ -0,0 +1,23 @@ +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) |