Passed
Push — master ( a48078...55ce0d )
by Steffen
01:44
created

GameServer.append_player()   A

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