Skip to content

Evolution

evolution

Evolution

Evolution(client: _HTTPClientT_co)

Bases: SyncBaseExtension[Evolution]

Extension for evolution related endpoints.

Source code in pokelance/ext/_base.py
def __init__(self, client: _HTTPClientT_co) -> None:
    self._client = client
    self._cache_manager = client.cache_manager
    self._cache_group = getattr(self._cache_manager, self.__class__.__name__.lower())

get_evolution_chain

get_evolution_chain(id: int) -> EvolutionChain | None

Gets a evolution chain from the cache.

Parameters:

Name Type Description Default
id int

The resource id.

required

Returns:

Type Description
EvolutionChain | None

The cached model or None.

Examples:

chain = client.evolution.get_evolution_chain(1)
if chain:
    print(chain)
Source code in pokelance/ext/sync/evolution.py
def get_evolution_chain(self, id: int) -> models.EvolutionChain | None:
    """Gets a evolution chain from the cache.

    Parameters
    ----------
    id : int
        The resource id.

    Returns
    -------
    models.EvolutionChain | None
        The cached model or None.

    Examples
    --------
    ```python
    chain = client.evolution.get_evolution_chain(1)
    if chain:
        print(chain)
    ```"""
    route = Endpoint.get_evolution_chain(id)
    self._validate_resource(self._cache_group.evolution_chain, id, route)
    return self._cache_group.evolution_chain.get(route, None)

fetch_evolution_chain

fetch_evolution_chain(id: int) -> EvolutionChain

Fetches a evolution chain from the API.

Parameters:

Name Type Description Default
id int

The resource id.

required

Returns:

Type Description
EvolutionChain

The fetched model.

Examples:

chain = client.evolution.fetch_evolution_chain(1)
print(chain)
Source code in pokelance/ext/sync/evolution.py
def fetch_evolution_chain(self, id: int) -> models.EvolutionChain:
    """Fetches a evolution chain from the API.

    Parameters
    ----------
    id : int
        The resource id.

    Returns
    -------
    models.EvolutionChain
        The fetched model.

    Examples
    --------
    ```python
    chain = client.evolution.fetch_evolution_chain(1)
    print(chain)
    ```"""
    route = Endpoint.get_evolution_chain(id)
    self._validate_resource(self._cache_group.evolution_chain, id, route)
    data = self._client.request(route)
    return self._cache_group.evolution_chain.setdefault(route, self._cache_group.evolution_chain.from_payload(data))

get_evolution_trigger

get_evolution_trigger(
    name: str | int,
) -> EvolutionTrigger | None

Gets a evolution trigger from the cache.

Parameters:

Name Type Description Default
name str | int

The name or id.

required

Returns:

Type Description
EvolutionTrigger | None

The cached model or None.

Examples:

trigger = client.evolution.get_evolution_trigger("level-up")
if trigger:
    print(trigger)
Source code in pokelance/ext/sync/evolution.py
def get_evolution_trigger(self, name: str | int) -> models.EvolutionTrigger | None:
    """Gets a evolution trigger from the cache.

    Parameters
    ----------
    name : str | int
        The name or id.

    Returns
    -------
    models.EvolutionTrigger | None
        The cached model or None.

    Examples
    --------
    ```python
    trigger = client.evolution.get_evolution_trigger("level-up")
    if trigger:
        print(trigger)
    ```"""
    route = Endpoint.get_evolution_trigger(name)
    self._validate_resource(self._cache_group.evolution_trigger, name, route)
    return self._cache_group.evolution_trigger.get(route, None)

fetch_evolution_trigger

fetch_evolution_trigger(
    name: str | int,
) -> EvolutionTrigger

Fetches a evolution trigger from the API.

Parameters:

Name Type Description Default
name str | int

The name or id.

required

Returns:

Type Description
EvolutionTrigger

The fetched model.

Examples:

trigger = client.evolution.fetch_evolution_trigger("level-up")
print(trigger)
Source code in pokelance/ext/sync/evolution.py
def fetch_evolution_trigger(self, name: str | int) -> models.EvolutionTrigger:
    """Fetches a evolution trigger from the API.

    Parameters
    ----------
    name : str | int
        The name or id.

    Returns
    -------
    models.EvolutionTrigger
        The fetched model.

    Examples
    --------
    ```python
    trigger = client.evolution.fetch_evolution_trigger("level-up")
    print(trigger)
    ```"""
    route = Endpoint.get_evolution_trigger(name)
    self._validate_resource(self._cache_group.evolution_trigger, name, route)
    data = self._client.request(route)
    return self._cache_group.evolution_trigger.setdefault(
        route, self._cache_group.evolution_trigger.from_payload(data)
    )

setup

setup(lance: PokeLanceSyncClient) -> None

Sets up the evolution extension.

Source code in pokelance/ext/sync/evolution.py
def setup(lance: PokeLanceSyncClient) -> None:
    """Sets up the evolution extension."""
    lance.add_extension("evolution", Evolution(lance.http))

Comments