summaryrefslogtreecommitdiff
path: root/xml.py
diff options
context:
space:
mode:
authorRaúl Benencia <rbenencia@linti.unlp.edu.ar>2012-08-02 13:58:58 -0300
committerRaúl Benencia <rbenencia@linti.unlp.edu.ar>2012-08-02 13:58:58 -0300
commit10e9272d170f5c634e8ca8f7415fb4ad1454bfe6 (patch)
tree8a41526b84c0586677bdc57fb62ee797efb14552 /xml.py
parent9afa33502b67151f36561119b70c765af675c1ca (diff)
Finished port to python3. Untested.
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