From 10e9272d170f5c634e8ca8f7415fb4ad1454bfe6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ra=C3=BAl=20Benencia?= Date: Thu, 2 Aug 2012 13:58:58 -0300 Subject: Finished port to python3. Untested. --- model.py | 47 +++++++++++++++++++++++------------------------ 1 file changed, 23 insertions(+), 24 deletions(-) (limited to 'model.py') diff --git a/model.py b/model.py index 5894e05..f63cbd6 100644 --- a/model.py +++ b/model.py @@ -1,5 +1,3 @@ -from xml.etree.ElementTree import ElementTree - class Network(): """A simple network definition""" @@ -31,19 +29,25 @@ class Person(): self.email = email class Data(): - """Abstract class for storing anf getting information""" + """Abstract class for storing and getting information""" def __init__(self, config): - self.networks = [] self.config = config + self.networks = [] + self.domains = [] + self.persons = [] def parse_config(self): - """Abstract method""" + """Parse neccesary config params depending on the method used + + Abstract method""" pass def load_data(self): - """Abstract method""" + """Load data from defined source. + + Abstract method""" pass @@ -55,23 +59,18 @@ class Data(): return self.networks -class DataXML(Data): - """Reads network information from a XML file""" - - def parse_config(): - """Reads and sets up XML config file fields""" + def get_domains(self): + """Return all domains. Common method for all kind of storages.""" - self.data_file = self.config['Storage']['xml_file'] + if self.networks == None: + self.load_data() + + return self.domains + + def get_persons(self): + """Return all persons. Common method for all kind of storages.""" - 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 = 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) + if self.persons == None: + self.load_data() + + return self.persons -- cgit v1.2.3