summaryrefslogtreecommitdiff
path: root/xml.py
diff options
context:
space:
mode:
Diffstat (limited to 'xml.py')
-rw-r--r--xml.py23
1 files changed, 23 insertions, 0 deletions
diff --git a/xml.py b/xml.py
new file mode 100644
index 0000000..c49e01a
--- /dev/null
+++ b/xml.py
@@ -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)
nihil fit ex nihilo