play_counter.py 1.1 KB

1234567891011121314151617181920212223242526272829303132
  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 PlayCounter(YandexMusicModel):
  8. """Класс, представляющий счётчик дней.
  9. Note:
  10. Присутствует только у плейлиста дня. Счётчик считает количество дней подряд, на протяжении которых был
  11. прослушан плейлист.
  12. Attributes:
  13. value (:obj:`int`): Значение (количество дней).
  14. description (:obj:`str`): Описание счётчика.
  15. updated (:obj:`bool`): Обновлён ли сегодня (в этих сутках).
  16. client (:obj:`yandex_music.Client`, optional): Клиент Yandex Music.
  17. """
  18. value: int
  19. description: str
  20. updated: bool
  21. client: Optional['ClientType'] = None
  22. def __post_init__(self) -> None:
  23. self._id_attrs = (self.value, self.description, self.updated)