Skip to content

Commit 0b98e9b

Browse files
authored
Merge pull request #6 from IPLSplatoon/1.2.3-not-bracket-data
Various fixes 1.2.3
2 parents 7fe1d4c + f245f2f commit 0b98e9b

File tree

4 files changed

+19
-6
lines changed

4 files changed

+19
-6
lines changed

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "poetry.core.masonry.api"
44

55
[tool.poetry]
66
name = "sendou-py"
7-
version = "1.2.2"
7+
version = "1.2.3"
88
description = "An async Python library for Sendou.ink"
99
authors = [ "Vincent Lee <[email protected]>",]
1010
license = "MIT"

sendou/models/tournament/bracket/Standing.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,12 +73,15 @@ class BracketStanding:
7373
"""
7474
tournament_team_id: int
7575
placement: int
76-
stats: StandingStats
76+
stats: Optional[StandingStats]
7777

7878
def __init__(self, data: dict):
7979
self.tournament_team_id = data.get("tournamentTeamId", 0)
8080
self.placement = data.get("placement", 0)
81-
self.stats = StandingStats.from_dict(data.get("stats", {}))
81+
if stats := data.get("stats", {}):
82+
self.stats = StandingStats.from_dict(stats)
83+
else:
84+
self.stats = None
8285

8386
@staticmethod
8487
def api_route(**kwargs) -> str:

sendou/models/tournament/bracket/bracket.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -215,13 +215,19 @@ def __init__(self, data: dict, request_client: RequestsClient):
215215
self.opponent1 = BracketMatchOpponent(data.get("opponent1", {}))
216216
if data.get("opponent2", {}):
217217
self.opponent2 = BracketMatchOpponent(data.get("opponent2", {}))
218+
else:
219+
self.opponent2 = None
218220
self.round_id = data.get("round_id", 0)
219221
self.stage_id = data.get("stage_id", 0)
220222
self.status = data.get("status", 0)
221223
if data.get("lastGameFinishedAt", None):
222224
self.lastGameFinishedAt = datetime.fromtimestamp(data.get("lastGameFinishedAt", 0), tz=timezone.utc)
225+
else:
226+
self.lastGameFinishedAt = None
223227
if data.get("createdAt", None):
224228
self.createdAt = datetime.fromtimestamp(data.get("createdAt", 0), tz=timezone.utc)
229+
else:
230+
self.createdAt = None
225231

226232
async def get_match(self) -> Optional[Match]:
227233
"""

sendou/models/tournament/tournament.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,15 +58,19 @@ def __init__(self, data: dict, index: int, tournament_id: int, request_client: R
5858
self._index = index
5959
self.__tournament_id = tournament_id
6060

61-
async def get_bracket_data(self) -> Bracket:
61+
async def get_bracket_data(self) -> Optional[Bracket]:
6262
"""
63-
Get the detailed bracket data
63+
Get the detailed bracket data, if bracket has details.
64+
65+
*Here are cases where Brackets haven't been played so no data exists*
6466
6567
Returns:
66-
(Bracket): Bracket Data
68+
(Optional[Bracket]): Bracket Data
6769
"""
6870
path = Bracket.api_route(tournament_id=self.__tournament_id, bracket_index=self._index)
6971
data = await self._request_client.get_response(path)
72+
if not data.get("match", []):
73+
return
7074
return Bracket(data, self._request_client)
7175

7276
async def get_standings(self) -> List[BracketStanding]:

0 commit comments

Comments
 (0)