counts.py 1.3 KB

12345678910111213141516171819202122232425262728293031323334
  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 Counts(YandexMusicModel):
  8. """Класс, представляющий счётчик некоторых значений исполнителя.
  9. Note:
  10. Под дополнительными подразумеваются треки и альбомы, в которых артист задействован, но не является его автором.
  11. Так же в дополнительные альбомы входят сборники.
  12. Attributes:
  13. tracks (:obj:`int`): Количество треков.
  14. direct_albums (:obj:`int`): Количество альбомов.
  15. also_albums (:obj:`int`): Количество дополнительных треков.
  16. also_tracks (:obj:`int`): Количество дополнительных альбомов.
  17. client (:obj:`yandex_music.Client`, optional): Клиент Yandex Music.
  18. """
  19. tracks: int
  20. direct_albums: int
  21. also_albums: int
  22. also_tracks: int
  23. client: Optional['ClientType'] = None
  24. def __post_init__(self) -> None:
  25. self._id_attrs = (self.tracks, self.direct_albums, self.also_albums, self.also_tracks)