Skip to content

Commit 80d2a46

Browse files
committed
microfix
1 parent 3795aff commit 80d2a46

File tree

1 file changed

+38
-38
lines changed

1 file changed

+38
-38
lines changed

server/ladder_service/veto_system.py

Lines changed: 38 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,14 @@
1313
BracketID = int
1414
MapPoolMapVersionId = int
1515
VetoTokensApplied = int
16-
VetosMap = dict[MapPoolMapVersionId, VetoTokensApplied]
16+
VetoesMap = dict[MapPoolMapVersionId, VetoTokensApplied]
1717

1818

1919
class PlayerVetoes:
2020
def __init__(self):
21-
self._vetoes: dict[BracketID, VetosMap] = {}
21+
self._vetoes: dict[BracketID, VetoesMap] = {}
2222

23-
def get_vetoes_for_bracket(self, bracket_id: BracketID) -> VetosMap:
23+
def get_vetoes_for_bracket(self, bracket_id: BracketID) -> VetoesMap:
2424
return self._vetoes.get(bracket_id, {})
2525

2626
def to_dict(self) -> dict:
@@ -56,38 +56,38 @@ def update_pools_veto_config(self, queues: dict[str, MatchmakerQueue]) -> list[P
5656

5757
pools_vetodata = self.extract_pools_veto_config(queues)
5858

59-
if self.pools_veto_data != pools_vetodata:
60-
self.pools_veto_data = pools_vetodata
61-
62-
pool_maps_by_bracket = {
63-
pool_data.matchmaker_queue_map_pool_id: set(pool_data.map_pool_map_version_ids)
64-
for pool_data in self.pools_veto_data
65-
}
66-
67-
affected_players = []
68-
for player in self.player_service.all_players:
69-
# TODO: Can we avoid force adjusting veto selections for players.
70-
adjusted_vetoes = self._adjust_vetoes(player.vetoes._vetoes)
71-
72-
if adjusted_vetoes != player.vetoes._vetoes:
73-
tokens_amount_for_some_map_was_reduced = any(
74-
map_id in pool_maps_by_bracket.get(bracket, set())
75-
and original_tokens > adjusted_vetoes.get(bracket, {}).get(map_id, 0)
76-
for bracket, bracket_vetoes in player.vetoes._vetoes.items()
77-
for map_id, original_tokens in bracket_vetoes.items()
78-
)
79-
player.vetoes._vetoes = adjusted_vetoes
80-
player.write_message({
81-
"command": "vetoes_info",
82-
"forced": tokens_amount_for_some_map_was_reduced,
83-
**player.vetoes.to_dict(),
84-
})
85-
if tokens_amount_for_some_map_was_reduced:
86-
affected_players.append(player)
59+
if self.pools_veto_data == pools_vetodata:
60+
return []
61+
62+
self.pools_veto_data = pools_vetodata
63+
64+
pool_maps_by_bracket = {
65+
pool_data.matchmaker_queue_map_pool_id: set(pool_data.map_pool_map_version_ids)
66+
for pool_data in self.pools_veto_data
67+
}
8768

88-
return affected_players
69+
affected_players = []
70+
for player in self.player_service.all_players:
71+
# TODO: Can we avoid force adjusting veto selections for players.
72+
adjusted_vetoes = self._adjust_vetoes(player.vetoes._vetoes)
73+
74+
if adjusted_vetoes != player.vetoes._vetoes:
75+
tokens_amount_for_some_map_was_reduced = any(
76+
map_id in pool_maps_by_bracket.get(bracket, set())
77+
and original_tokens > adjusted_vetoes.get(bracket, {}).get(map_id, 0)
78+
for bracket, bracket_vetoes in player.vetoes._vetoes.items()
79+
for map_id, original_tokens in bracket_vetoes.items()
80+
)
81+
player.vetoes._vetoes = adjusted_vetoes
82+
player.write_message({
83+
"command": "vetoes_info",
84+
"forced": tokens_amount_for_some_map_was_reduced,
85+
**player.vetoes.to_dict(),
86+
})
87+
if tokens_amount_for_some_map_was_reduced:
88+
affected_players.append(player)
8989

90-
return []
90+
return affected_players
9191

9292
def extract_pools_veto_config(
9393
self,
@@ -128,7 +128,7 @@ def extract_pools_veto_config(
128128
async def set_player_vetoes(
129129
self,
130130
player: Player,
131-
new_vetoes: dict[BracketID, VetosMap],
131+
new_vetoes: dict[BracketID, VetoesMap],
132132
):
133133
"""Validates and sets vetoes based on new vetoes and pool constraints."""
134134
if not _is_valid_vetoes(new_vetoes):
@@ -147,8 +147,8 @@ async def set_player_vetoes(
147147

148148
def _adjust_vetoes(
149149
self,
150-
new_vetoes: dict[BracketID, VetosMap],
151-
) -> dict[BracketID, VetosMap]:
150+
new_vetoes: dict[BracketID, VetoesMap],
151+
) -> dict[BracketID, VetoesMap]:
152152
# TODO: How can we avoid doing this adjustment? It would be better to
153153
# simply check if the veto selection is valid, and return an error if
154154
# not so that the client can display that to the user and force a new
@@ -296,11 +296,11 @@ def _is_valid_vetoes(vetoes: Any) -> bool:
296296

297297

298298
def _adjust_vetoes_for_bracket(
299-
new_bracket_vetoes: VetosMap,
299+
new_bracket_vetoes: VetoesMap,
300300
map_ids: list[MapPoolMapVersionId],
301301
total_tokens: int,
302302
max_per_map: float,
303-
) -> VetosMap:
303+
) -> VetoesMap:
304304
assert total_tokens >= 0
305305

306306
adjusted_vetoes = {}

0 commit comments

Comments
 (0)