MasterServer.append_server()   A
last analyzed

Complexity

Conditions 2

Size

Total Lines 3
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 3
CRAP Score 2

Importance

Changes 0
Metric Value
cc 2
eloc 3
nop 2
dl 0
loc 3
ccs 3
cts 3
cp 1
crap 2
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 1
        self.servers = []
26
27
    def __repr__(self) -> str:
28
        """Reprint function, displays master server details instead of instance information
29
30
        :return:
31
        """
32
        return 'MasterServer(ip={ip:s}, port={port:d}, hostname={hostname:s}, ' \
33
               'response={response!r}, num_servers={num_servers:d}, request_token={request_token!r}' \
34
            .format(ip=self.ip, port=self.port, hostname=self.hostname, response=self.response,
35
                    num_servers=self.num_servers, request_token=self.request_token)
36
37 1
    @property
38 1
    def servers(self) -> List[GameServer]:
39 1
        return self._servers
40
41 1
    @servers.setter
42 1
    def servers(self, servers: List[GameServer]) -> None:
43 1
        self._servers = servers
44
45 1
    def append_server(self, game_server: GameServer) -> None:
46 1
        if game_server not in self._servers:
47 1
            self._servers.append(game_server)
48
49 1
    @property
50 1
    def num_servers(self) -> int:
51 1
        return self._num_servers
52
53 1
    @num_servers.setter
54 1
    def num_servers(self, number: int) -> None:
55 1
        self._num_servers = number
56
57 1
    @property
58 1
    def hostname(self) -> str:
59 1
        return self._hostname
60
61 1
    @hostname.setter
62 1
    def hostname(self, hostname: str) -> None:
63
        self._hostname = hostname
64