ServerManagerApplication   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 19
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 19
rs 10
wmc 4

3 Methods

Rating   Name   Duplication   Size   Complexity  
A get() 0 10 1
A register() 0 3 2
A __init__() 0 3 1
1
from groundwork.util import gw_get
2
3
4
class ServerManagerPlugin():
5
6
    def __init__(self, plugin):
7
        self.plugin = plugin
8
        self.log = plugin.log
9
        self.app = plugin.app
10
11
    def register(self, name, function, description):
12
        return self.app.web.servers.register(name, function, description, self.plugin)
13
14
    def get(self, name=None):
15
        """
16
        Returns servers, which can be filtered by name.
17
18
        :param name: name of the server
19
        :type name: str
20
        :return: None, single server or dict of servers
21
        """
22
        return self.app.web.servers.get(name, self.plugin)
23
24
25
class ServerManagerApplication:
26
    def __init__(self, app):
27
        self._servers = {}
28
        self.app = app
29
30
    def register(self, name, function, description, plugin):
31
        if name not in self._servers.keys():
32
            self._servers[name] = Server(name, function, description, plugin)
33
34
    def get(self, name=None, plugin=None):
35
        """
36
        Returns servers, which can be filtered by name or plugin.
37
38
        :param name: name of the server
39
        :type name: str
40
        :param plugin: plugin name, which registers the servers
41
        :return: None, single server or dict of servers
42
        """
43
        return gw_get(self._servers, name, plugin)
44
45
46
class Server():
47
    def __init__(self, name, function, description, plugin):
48
        self.name = name
49
        self.function = function
50
        self.description = description
51
        self.plugin = plugin
52