From 9f89d5691939f5b23d37c828252443ddc7ed15a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ra=C3=BAl=20Benencia?= Date: Wed, 27 Jun 2012 21:39:17 -0300 Subject: First commit --- whoisdata.py | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 whoisdata.py (limited to 'whoisdata.py') 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) -- cgit v1.2.3