Passed
Push — master ( a89286...fe5519 )
by Steffen
01:36
created

tw_serverinfo.models.master_server   A

Complexity

Total Complexity 8

Size/Duplication

Total Lines 48
Duplicated Lines 0 %

Test Coverage

Coverage 83.33%

Importance

Changes 0
Metric Value
eloc 29
dl 0
loc 48
ccs 20
cts 24
cp 0.8333
rs 10
c 0
b 0
f 0
wmc 8

5 Methods

Rating   Name   Duplication   Size   Complexity  
A MasterServer.__repr__() 0 5 1
A MasterServer.servers() 0 3 1
A MasterServer.num_servers() 0 3 1
A MasterServer.append() 0 3 2
A MasterServer.__init__() 0 10 1
1
#!/usr/local/bin/python
2
# coding: utf-8
3 1
from tw_serverinfo.models import Server
4
5
6 1
class MasterServer(Server):
7
    """MasterServer Model containing properties for all possibly returned values"""
8 1
    _servers: list = []
9 1
    _hostname: str = ''
10 1
    _num_servers = 0
11
12 1
    def __init__(self, ip: str, port: int, hostname: str = '') -> None:
13
        """Initializing function
14
15
        :type ip: str
16
        :type port: int
17
        :type hostname: str
18
        """
19 1
        self._ip = ip
20 1
        self._port = port
21 1
        self._hostname = hostname
22
23
    def __repr__(self) -> str:
24
        return 'MasterServer(ip={ip:s}, port={port:d}, hostname={hostname:s}, ' \
25
               'response={response!r}, num_servers={num_servers:d}, request_token={request_token!r}' \
26
            .format(ip=self._ip, port=self._port, hostname=self._hostname, response=self._response,
27
                    num_servers=self._num_servers, request_token=self._request_token)
28
29 1
    @property
30 1
    def servers(self) -> list:
31 1
        return self._servers
32
33 1
    @servers.setter
34 1
    def servers(self, servers: list) -> None:
35
        self._servers = servers
36
37 1
    def append(self, server: dict) -> None:
38
        if server not in self._servers:
39
            self._servers.append(server)
40
41 1
    @property
42 1
    def num_servers(self) -> int:
43
        return self._num_servers
44
45 1
    @num_servers.setter
46 1
    def num_servers(self, number: int) -> None:
47
        self._num_servers = number
48