Pular para conteúdo

Champion

Objeto que contém as informações de um campeão.

Attributes:

Name Type Description
explorer Explorer

Explorador que buscou esse campeão.

data dict

Os dados desse campeão.

identity str

ID do campeão.

name str

Nome do campeão.

art str

URL da arte do campeão.

Example
1
2
3
4
from league_data import League

league = League()
irelia = league["irelia"]  # -> <league_data.models.Champion object at ...>
Source code in league_data/models.py
class Champion:
    """Objeto que contém as informações de um campeão.

    Attributes:
        explorer (Explorer): Explorador que buscou esse campeão.
        data (dict): Os dados desse campeão.
        identity (str): ID do campeão.
        name (str): Nome do campeão.
        art (str): URL da arte do campeão.

    Example:
        ```python linenums="1"
        from league_data import League

        league = League()
        irelia = league["irelia"]  # -> <league_data.models.Champion object at ...>
        ```
    """

    @property
    def skins(self) -> list[Skin]:
        """Skins que o campeão possui."""
        return self.get_skins()

    def get_skins(self) -> list[Skin]:
        """Cria uma lista com as skins do campeão.

        O método faz o processo com list comprehension.

        Returns:
            skins (list[Skin]): Lista com as skins.
        """
        return [
            Skin(
                explorer=self.explorer,
                champion=self.data,
                data=self.data["skins"][skin],
            )
            for skin in self.data["skins"]
        ]

    def __init__(self, explorer: Explorer, data: dict) -> None:
        """Instancia o objeto contendo as informações do campeão.

        Args:
            explorer (Explorer): Explorador que buscou esse campeão.
            data (dict): Os dados desse campeão.
        """
        self.explorer = explorer
        self.data = data
        self.identity: str = self.data["id"]
        self.name: str = self.data["name"]
        self.art: str = self.data["art"]

    def __getitem__(self, value: str) -> Any:
        """Retorna um valor do dicionário do campeão."""
        return self.data.get(value)

    def __str__(self) -> str:
        """Forma string da classe."""
        return self.name

    def __repr__(self) -> str:
        """Representa a forma que a instância foi criada."""
        return f"Champion({self.explorer, self.data})"

skins: list[Skin] property

Skins que o campeão possui.

get_skins()

Cria uma lista com as skins do campeão.

O método faz o processo com list comprehension.

Returns:

Name Type Description
skins list[Skin]

Lista com as skins.

Source code in league_data/models.py
def get_skins(self) -> list[Skin]:
    """Cria uma lista com as skins do campeão.

    O método faz o processo com list comprehension.

    Returns:
        skins (list[Skin]): Lista com as skins.
    """
    return [
        Skin(
            explorer=self.explorer,
            champion=self.data,
            data=self.data["skins"][skin],
        )
        for skin in self.data["skins"]
    ]

__init__(explorer, data)

Instancia o objeto contendo as informações do campeão.

Parameters:

Name Type Description Default
explorer Explorer

Explorador que buscou esse campeão.

required
data dict

Os dados desse campeão.

required
Source code in league_data/models.py
def __init__(self, explorer: Explorer, data: dict) -> None:
    """Instancia o objeto contendo as informações do campeão.

    Args:
        explorer (Explorer): Explorador que buscou esse campeão.
        data (dict): Os dados desse campeão.
    """
    self.explorer = explorer
    self.data = data
    self.identity: str = self.data["id"]
    self.name: str = self.data["name"]
    self.art: str = self.data["art"]

__getitem__(value)

Retorna um valor do dicionário do campeão.

Source code in league_data/models.py
def __getitem__(self, value: str) -> Any:
    """Retorna um valor do dicionário do campeão."""
    return self.data.get(value)

__str__()

Forma string da classe.

Source code in league_data/models.py
def __str__(self) -> str:
    """Forma string da classe."""
    return self.name

__repr__()

Representa a forma que a instância foi criada.

Source code in league_data/models.py
def __repr__(self) -> str:
    """Representa a forma que a instância foi criada."""
    return f"Champion({self.explorer, self.data})"