Skip to content

Team

Tournament Team

TeamMember ¤

Bases: BaseModel

Member of a Tournament Team

Attributes:

Name Type Description
user_id int

User ID

name str

Member's Name

discord_id str

Discord ID

battlefy Optional[str]

Battlefy ID

avatar_url Optional[str]

Avatar URL

captain bool

Is Captain

in_game_name Optional[str]

In Game Name

joined_at datetime

Joined At

Source code in sendou/models/tournament/team.py
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
class TeamMember(BaseModel):
    """
    Member of a Tournament Team

    Attributes:
        user_id (int): User ID
        name (str): Member's Name
        discord_id (str): Discord ID
        battlefy (Optional[str]): Battlefy ID
        avatar_url (Optional[str]): Avatar URL
        captain (bool): Is Captain
        in_game_name (Optional[str]): In Game Name
        joined_at (datetime): Joined At
    """
    user_id: int
    name: str
    discord_id: str
    battlefy: Optional[str]
    avatar_url: Optional[str]
    captain: bool
    in_game_name: Optional[str]
    joined_at: datetime

    def __init__(self, data: dict, request_client: RequestsClient):
        super().__init__(data, request_client)
        self.user_id = data.get("userId", 0)
        self.name = data.get("name", "")
        self.discord_id = data.get("discordId", "")
        self.battlefy = data.get("battlefy", None)
        self.avatar_url = data.get("avatarUrl", None)
        self.captain = data.get("captain", False)
        self.in_game_name = data.get("inGameName", None)
        self.joined_at = parser.isoparse(data.get("joinedAt", ""))

    async def get_user(self) -> User:
        """
        Get the User object for the member

        Returns:
            (User): User Object
        """
        path = User.api_route(user_id=self.user_id)
        data = await self._request_client.get_response(path)
        return User(data, self._request_client)

get_user() async ¤

Get the User object for the member

Returns:

Type Description
User

User Object

Source code in sendou/models/tournament/team.py
49
50
51
52
53
54
55
56
57
58
async def get_user(self) -> User:
    """
    Get the User object for the member

    Returns:
        (User): User Object
    """
    path = User.api_route(user_id=self.user_id)
    data = await self._request_client.get_response(path)
    return User(data, self._request_client)

TournamentTeam ¤

Bases: BaseModel

A Tournament Team

Attributes:

Name Type Description
id int

Team ID

name str

Team Name

registered_at datetime

Registered At

checked_in bool

Checked In

url str

Team URL

team_page_url Optional[str]

Team Page URL

logo_url Optional[str]

Logo URL

seed Optional[int]

Seed

map_pool Optional[List[StageWithMode]]

Map Pool

members List[TeamMember]

Team Members

Source code in sendou/models/tournament/team.py
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
class TournamentTeam(BaseModel):
    """
    A Tournament Team

    Attributes:
        id (int): Team ID
        name (str): Team Name
        registered_at (datetime): Registered At
        checked_in (bool): Checked In
        url (str): Team URL
        team_page_url (Optional[str]): Team Page URL
        logo_url (Optional[str]): Logo URL
        seed (Optional[int]): Seed
        map_pool (Optional[List[StageWithMode]]): Map Pool
        members (List[TeamMember]): Team Members
    """
    id: int
    name: str
    registered_at: datetime
    checked_in: bool
    url: str
    team_page_url: Optional[str]
    logo_url: Optional[str]
    seed: Optional[int]
    map_pool: Optional[List[StageWithMode]]
    members: List[TeamMember]

    def __init__(self, data: dict, request_client: RequestsClient):
        """
        Init
        :param data: Raw data from API
        :param request_client: Request Client
        """
        super().__init__(data, request_client)
        self.id = data.get("id", 0)
        self.name = data.get("name", "")
        self.registered_at = parser.isoparse(data.get("registeredAt", ""))
        self.checked_in = data.get("checkedIn", False)
        self.url = data.get("url", "")
        self.team_page_url = data.get("teamPageUrl", None)
        self.logo_url = data.get("logoUrl", None)
        self.seed = data.get("seed")
        map_pool = data.get("mapPool", [])
        if map_pool:
            self.map_pool = [StageWithMode(stage) for stage in map_pool]
        self.members = [TeamMember(member, request_client) for member in data.get("members", [])]

    @staticmethod
    def api_route(**kwargs) -> str:
        """
        Get the API route

        Args:
            tournament_id (int): Tournament ID

        Returns:
        """
        return f"api/tournament/{kwargs.get('tournament_id')}/teams"

__init__(data, request_client) ¤

Init :param data: Raw data from API :param request_client: Request Client

Source code in sendou/models/tournament/team.py
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
def __init__(self, data: dict, request_client: RequestsClient):
    """
    Init
    :param data: Raw data from API
    :param request_client: Request Client
    """
    super().__init__(data, request_client)
    self.id = data.get("id", 0)
    self.name = data.get("name", "")
    self.registered_at = parser.isoparse(data.get("registeredAt", ""))
    self.checked_in = data.get("checkedIn", False)
    self.url = data.get("url", "")
    self.team_page_url = data.get("teamPageUrl", None)
    self.logo_url = data.get("logoUrl", None)
    self.seed = data.get("seed")
    map_pool = data.get("mapPool", [])
    if map_pool:
        self.map_pool = [StageWithMode(stage) for stage in map_pool]
    self.members = [TeamMember(member, request_client) for member in data.get("members", [])]

api_route(**kwargs) staticmethod ¤

Get the API route

Parameters:

Name Type Description Default
tournament_id int

Tournament ID

required

Returns:

Source code in sendou/models/tournament/team.py
108
109
110
111
112
113
114
115
116
117
118
@staticmethod
def api_route(**kwargs) -> str:
    """
    Get the API route

    Args:
        tournament_id (int): Tournament ID

    Returns:
    """
    return f"api/tournament/{kwargs.get('tournament_id')}/teams"