Passed
Push — master ( 3add59...f9288d )
by Steffen
01:46
created

MasterServer.servers()   A

Complexity

Conditions 1

Size

Total Lines 3
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 3
CRAP Score 1

Importance

Changes 0
Metric Value
cc 1
eloc 3
nop 2
dl 0
loc 3
ccs 3
cts 3
cp 1
crap 1
rs 10
c 0
b 0
f 0
1
#!/usr/local/bin/python
2
# coding: utf-8
3 1
from typing import List
4
5 1
from tw_serverinfo.models import Server
6 1
from tw_serverinfo.models.game_server import GameServer
7
8
9 1
class MasterServer(Server):
10
    """MasterServer Model containing properties for all possibly returned values"""
11 1
    _servers: list = []
12 1
    _hostname: str = ''
13 1
    _num_servers = 0
14
15 1
    def __init__(self, ip: str, port: int, hostname: str = '') -> None:
16
        """Initializing function
17
18
        :type ip: str
19
        :type port: int
20
        :type hostname: str
21
        """
22 1
        self.ip = ip
23 1
        self.port = port
24 1
        self.hostname = hostname
25
26
    def __repr__(self) -> str:
27
        """Reprint function, displays master server details instead of instance information
28
29
        :return:
30
        """
31
        return 'MasterServer(ip={ip:s}, port={port:d}, hostname={hostname:s}, ' \
32
               'response={response!r}, num_servers={num_servers:d}, request_token={request_token!r}' \
33
            .format(ip=self.ip, port=self.port, hostname=self.hostname, response=self.response,
34
                    num_servers=self.num_servers, request_token=self.request_token)
35
36 1
    @property
37 1
    def servers(self) -> List[GameServer]:
38 1
        return self._servers
39
40 1
    @servers.setter
41 1
    def servers(self, servers: List[GameServer]) -> None:
42
        self._servers = servers
43
44 1
    def append_server(self, game_server: GameServer) -> None:
45 1
        if game_server not in self._servers:
46 1
            self._servers.append(game_server)
47
48 1
    @property
49 1
    def num_servers(self) -> int:
50 1
        return self._num_servers
51
52 1
    @num_servers.setter
53 1
    def num_servers(self, number: int) -> None:
54 1
        self._num_servers = number
55
56 1
    @property
57 1
    def hostname(self) -> str:
58 1
        return self._hostname
59
60 1
    @hostname.setter
61 1
    def hostname(self, hostname: str) -> None:
62
        self._hostname = hostname
63