Source code for pytenno.interface.rivens

"""Module holding the Rivens interface class."""

from typing import Optional

from .._backends.rivens import RivensBackend
from ..constants import VALID_LANGUAGES
from ..models.rivens import RivenAttribute, RivenItem


[docs]class Rivens(RivensBackend): """Class for the rivens backend."""
[docs] async def get_riven_items( self, language: Optional[VALID_LANGUAGES] = None ) -> list[RivenItem]: """Gets a list of all riven-equippable items. Parameters ---------- language : Optional[VALID_LANGUAGES] The language of the riven items. Default: ``None``, meaning the default set during client construction. Returns ------- list[RivenItem] Example ------- >>> async with PyTenno() as pytenno: >>> riven_items = await pytenno.rivens.get_riven_items() >>> for riven_item in riven_items: >>> print(riven_item.url_name) """ return await self._get_riven_items(language)
[docs] async def get_attributes( self, language: Optional[VALID_LANGUAGES] = None ) -> list[RivenAttribute]: """Gets a list of all riven attributes. Parameters ---------- language : Optional[VALID_LANGUAGES] The language of the riven attributes. Default: ``None``, meaning the default set during client construction. Returns ------- list[RivenAttribute] Example ------- >>> async with PyTenno() as pytenno: >>> riven_attributes = await pytenno.rivens.get_attributes() >>> for riven_attribute in riven_attributes: >>> print(riven_attribute.effect) """ return await self._get_riven_attributes(language)