Skip to content

base

pokelance.ext._base ⚓︎

BaseExtension(client) ⚓︎

The base extension class.

Parameters:

Name Type Description Default
client HttpClient

The client to use for requests.

required

Attributes:

Name Type Description
_client HttpClient

The client to use for requests.

_cache Cache

The cache to use for requests.

Initializes the extension.

Parameters:

Name Type Description Default
client HttpClient

The client to use for requests.

required
Source code in pokelance/ext/_base.py
Python
def __init__(self, client: "HttpClient") -> None:
    """Initializes the extension.

    Parameters
    ----------
    client: pokelance.http.HttpClient
        The client to use for requests.
    """
    self._client = client
    self._cache = self._client.cache
    self.cache = getattr(self._cache, self.__class__.__name__.lower())

setup() async ⚓︎

Sets up the extension.

Source code in pokelance/ext/_base.py
Python
async def setup(self) -> None:
    """Sets up the extension."""
    for item in dir(self):
        if item.startswith("fetch_"):
            endpoint_name = f"get_{item[6:]}_endpoints"
            if not hasattr(Endpoint, endpoint_name):
                continue
            endpoint: t.Callable[[], "Route"] = getattr(Endpoint, endpoint_name)
            data = await self._client.request(endpoint())
            self._cache.load_documents(str(self.__class__.__name__), item[6:], data["results"])

Comments