chart_info_menu_item.py 824 B

12345678910111213141516171819202122232425262728
  1. from typing import TYPE_CHECKING, Optional
  2. from yandex_music import YandexMusicModel
  3. from yandex_music.utils import model
  4. if TYPE_CHECKING:
  5. from yandex_music import ClientType
  6. @model
  7. class ChartInfoMenuItem(YandexMusicModel):
  8. """Класс, представляющий элемент меню чарта.
  9. Attributes:
  10. title (:obj:`str`): Заголовок.
  11. url (:obj:`str`): Постфикс для запроса чарта.
  12. selected (:obj:`bool`, optional): Текущий ли элемент.
  13. client (:obj:`yandex_music.Client`, optional): Клиент Yandex Music.
  14. """
  15. title: str
  16. url: str
  17. selected: Optional[bool] = None
  18. client: Optional['ClientType'] = None
  19. def __post_init__(self) -> None:
  20. self._id_attrs = (self.url, self.selected)