summaryrefslogtreecommitdiff
path: root/model.py
diff options
context:
space:
mode:
Diffstat (limited to 'model.py')
-rw-r--r--model.py47
1 files changed, 23 insertions, 24 deletions
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
nihil fit ex nihilo