Passed
Push — master ( 72bcea...71af8b )
by Steffen
01:51
created

tw_serverinfo.models.game_server   A

Complexity

Total Complexity 30

Size/Duplication

Total Lines 155
Duplicated Lines 0 %

Test Coverage

Coverage 98.02%

Importance

Changes 0
Metric Value
eloc 108
dl 0
loc 155
ccs 99
cts 101
cp 0.9802
rs 10
c 0
b 0
f 0
wmc 30

16 Methods

Rating   Name   Duplication   Size   Complexity  
A GameServer.players() 0 3 1
A GameServer.__repr__() 0 13 1
A GameServer.append_player() 0 3 2
A GameServer.name() 0 3 1
A GameServer.__init__() 0 8 1
A GameServer.server_type() 0 3 1
A GameServer.map_size() 0 3 1
A GameServer.num_players() 0 3 1
A GameServer.flags() 0 3 1
A GameServer.max_clients() 0 3 1
A GameServer.num_clients() 0 3 1
A GameServer.map_crc() 0 3 1
A GameServer.max_players() 0 3 1
A GameServer.game_type() 0 3 1
A GameServer.map_name() 0 3 1
A GameServer.version() 0 3 1
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.player import Player
7
8
9 1
class GameServer(Server):
10
    """GameServer Model containing properties for all possibly returned values"""
11 1
    _players = []
12 1
    _server_type = ''
13 1
    _version = ''
14 1
    _name = ''
15 1
    _map_name = ''
16 1
    _map_crc = 0
17 1
    _map_size = 0
18 1
    _game_type = ''
19 1
    _flags = 0
20 1
    _num_players = 0
21 1
    _max_players = 0
22 1
    _num_clients = 0
23 1
    _max_clients = 0
24
25 1
    def __init__(self, ip: str, port: int) -> None:
26
        """Initializing function
27
28
        :type ip: str
29
        :type port: int
30
        """
31 1
        self.ip = ip
32 1
        self.port = port
33
34
    def __repr__(self) -> str:
35
        """Reprint function, displays game server details instead of instance information
36
37
        :return:
38
        """
39
        return 'GameServer(ip={ip:s}, port={port:d}, response={response!r}, ' \
40
               'name={name:s}, version={version:s}, map_name={map_name:s}, game_type={game_type:s}, flags={flags:d}, ' \
41
               'players=({num_players:d}/{max_players:d}), clients=({num_clients:d}/{max_clients:d}), ' \
42
               'token={token!r}' \
43
            .format(ip=self.ip, port=self.port, response=self.response,
44
                    name=self.name, version=self.version, map_name=self.map_name, game_type=self.game_type,
45
                    flags=self.flags, num_players=self.num_players, max_players=self.max_players,
46
                    num_clients=self.num_clients, max_clients=self.max_clients, token=self.token)
47
48 1
    @property
49 1
    def players(self) -> List[Player]:
50
        return self._players
51
52 1
    @players.setter
53 1
    def players(self, player: List[Player]) -> None:
54
        self._players = player
55
56 1
    def append_player(self, player: Player) -> None:
57 1
        if player not in self._players:
58 1
            self._players.append(player)
59
60 1
    @property
61 1
    def server_type(self) -> str:
62 1
        return self._server_type
63
64 1
    @server_type.setter
65 1
    def server_type(self, server_type: str) -> None:
66 1
        self._server_type = server_type
67
68 1
    @property
69 1
    def name(self) -> str:
70 1
        return self._name
71
72 1
    @name.setter
73 1
    def name(self, name: str) -> None:
74 1
        self._name = name
75
76 1
    @property
77 1
    def version(self) -> str:
78 1
        return self._version
79
80 1
    @version.setter
81 1
    def version(self, version: str) -> None:
82 1
        self._version = version
83
84 1
    @property
85 1
    def map_name(self) -> str:
86 1
        return self._map_name
87
88 1
    @map_name.setter
89 1
    def map_name(self, map_name: str) -> None:
90 1
        self._map_name = map_name
91
92 1
    @property
93 1
    def map_crc(self) -> int:
94 1
        return self._map_crc
95
96 1
    @map_crc.setter
97 1
    def map_crc(self, map_crc: int) -> None:
98 1
        self._map_crc = map_crc
99
100 1
    @property
101 1
    def map_size(self) -> int:
102 1
        return self._map_size
103
104 1
    @map_size.setter
105 1
    def map_size(self, map_size: int) -> None:
106 1
        self._map_size = map_size
107
108 1
    @property
109 1
    def game_type(self) -> str:
110 1
        return self._game_type
111
112 1
    @game_type.setter
113 1
    def game_type(self, game_type: str) -> None:
114 1
        self._game_type = game_type
115
116 1
    @property
117 1
    def flags(self) -> int:
118 1
        return self._flags
119
120 1
    @flags.setter
121 1
    def flags(self, flags: int) -> None:
122 1
        self._flags = flags
123
124 1
    @property
125 1
    def num_players(self) -> int:
126 1
        return self._num_players
127
128 1
    @num_players.setter
129 1
    def num_players(self, num_players: int) -> None:
130 1
        self._num_players = num_players
131
132 1
    @property
133 1
    def max_players(self) -> int:
134 1
        return self._max_players
135
136 1
    @max_players.setter
137 1
    def max_players(self, max_players: int) -> None:
138 1
        self._max_players = max_players
139
140 1
    @property
141 1
    def num_clients(self) -> int:
142 1
        return self._num_clients
143
144 1
    @num_clients.setter
145 1
    def num_clients(self, num_clients: int) -> None:
146 1
        self._num_clients = num_clients
147
148 1
    @property
149 1
    def max_clients(self) -> int:
150 1
        return self._max_clients
151
152 1
    @max_clients.setter
153 1
    def max_clients(self, max_clients: int) -> None:
154
        self._max_clients = max_clients
155