summaryrefslogtreecommitdiff
path: root/data.py
diff options
context:
space:
mode:
authorRaúl Benencia <rbenencia@linti.unlp.edu.ar>2012-08-01 18:05:04 -0300
committerRaúl Benencia <rbenencia@linti.unlp.edu.ar>2012-08-01 18:05:04 -0300
commit01aa58c5d7947e37bc3f0a927c2ed809873122a3 (patch)
tree31eb413ef072c5bc56da31b5820bb2be960d3726 /data.py
parent9eaa4fb13a8f761e4be0abec042501d600b4de10 (diff)
New scheme. Starting port to python 3. It's now or never!
Diffstat (limited to 'data.py')
-rw-r--r--data.py38
1 files changed, 38 insertions, 0 deletions
diff --git a/data.py b/data.py
new file mode 100644
index 0000000..200d3ba
--- /dev/null
+++ b/data.py
@@ -0,0 +1,38 @@
+from xml.etree.ElementTree import ElementTree
+
+class WhoisNetwork():
+ def __init__(self, name):
+ self.name = name
+ self.domain = None
+ self.ip_blocks = []
+ self.data = {}
+
+class WhoisData():
+ def __init__(self, config):
+ self.networks = []
+ self.config = config
+
+ def parse_config(self): pass
+ def load_data(self): pass
+
+ def get_networks(self):
+ if self.networks == None:
+ self.load_data()
+
+ return self.networks
+
+class WhoisDataXML(WhoisData):
+ def parse_config():
+ self.data_file = self.config.get('Storage', 'xml_file')
+
+ def load_data(self):
+ root = ElementTree(file=self.data_file).getroot()
+ for elem in root:
+ network = WhoisNetwork(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