From 01aa58c5d7947e37bc3f0a927c2ed809873122a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ra=C3=BAl=20Benencia?= Date: Wed, 1 Aug 2012 18:05:04 -0300 Subject: New scheme. Starting port to python 3. It's now or never! --- data.py | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 data.py (limited to 'data.py') 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) -- cgit v1.2.3