summaryrefslogtreecommitdiff
path: root/whoisdata.py
diff options
context:
space:
mode:
authorRaúl Benencia <rbenencia@linti.unlp.edu.ar>2012-06-27 21:39:17 -0300
committerRaúl Benencia <rbenencia@linti.unlp.edu.ar>2012-06-27 21:39:17 -0300
commit9f89d5691939f5b23d37c828252443ddc7ed15a7 (patch)
treed945cb0475f62ae640ba007218fca41d78187b8b /whoisdata.py
First commit
Diffstat (limited to 'whoisdata.py')
-rw-r--r--whoisdata.py38
1 files changed, 38 insertions, 0 deletions
diff --git a/whoisdata.py b/whoisdata.py
new file mode 100644
index 0000000..200d3ba
--- /dev/null
+++ b/whoisdata.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