summaryrefslogtreecommitdiff
path: root/model.py
blob: fbba248c50a99f31bab4de9e38a58230fbc521b6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
class Network():
    """A simple network definition"""
    
    def __init__(self):
        self.name = ""
        self.domains = []
        self.admins = []
        self.ip_blocks = []
        self.data = {}

class Domain():
    """A simple domain definition"""

    def __init__(self):
        self.name = ""
        self.admins = []
        self.data = {}

    def add_admin(self, admin):
        """Add an administrator for this network"""

        self.admins.append(admin)

class Person():
    """A simple person definition"""

    def __init__(self):
        self.name = ""
        self.surname = ""
        self.email = ""
        self.data = {}

class Data():
    """Abstract class for storing and getting information"""
    
    def __init__(self, config):
        self.config = config
        self.networks = []
        self.domains = []
        self.persons = []

    def parse_config(self):
        """Parse neccesary config params depending on the method used

        Abstract method"""
        
        pass
    
    def load_data(self):
        """Load data from defined source.

        Abstract method"""
        
        pass

    def get_networks(self):
        """Return all networks. Common method for all kind of storages."""
        
        if self.networks == None:
            self.load_data()

        return self.networks

    def get_domains(self):
        """Return all domains. Common method for all kind of storages."""
        
        if self.networks == None:
            self.load_data()

        return self.domains

    def get_persons(self):
        """Return all persons. Common method for all kind of storages."""
        
        if self.persons == None:
            self.load_data()

        return self.persons
nihil fit ex nihilo