track_position.py 930 B

12345678910111213141516171819202122232425262728293031
  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 TrackPosition(YandexMusicModel):
  8. """Класс, представляющий позицию трека.
  9. Note:
  10. Позиция трека в альбоме, который возвращается при получении самого трека.
  11. Volume на фронте именуется как "Диск".
  12. Attributes:
  13. volume (:obj:`int`): Номер альбома.
  14. index (:obj:`int`): Порядковый номер трека.
  15. client (:obj:`yandex_music.Client`, optional): Клиент Yandex Music.
  16. """
  17. volume: int
  18. index: int
  19. client: Optional['ClientType'] = None
  20. def __post_init__(self) -> None:
  21. self._id_attrs = (self.volume, self.index)