ratings.py 899 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 Ratings(YandexMusicModel):
  8. """Класс, представляющий рейтинг исполнителя.
  9. Attributes:
  10. month (:obj:`int`): Значение ежемесячного рейтинга.
  11. week (:obj:`int`, optional): Значение еженедельного рейтинга.
  12. day (:obj:`int`, optional): Значение дневного рейтинга.
  13. client (:obj:`yandex_music.Client`, optional): Клиент Yandex Music.
  14. """
  15. month: int
  16. week: Optional[int] = None
  17. day: Optional[int] = None
  18. client: Optional['ClientType'] = None
  19. def __post_init__(self) -> None:
  20. self._id_attrs = (self.week, self.month)