brand.py 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. from typing import TYPE_CHECKING, List, 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 Brand(YandexMusicModel):
  8. """Класс, представляющий бренд плейлиста.
  9. Note:
  10. Отслеживание просмотров на сторонник сервисах бренда, рекомендация следующего контента.
  11. Attributes:
  12. image (:obj:`str`): Ссылка на изображение.
  13. background (:obj:`str`): Цвет заднего фона.
  14. reference (:obj:`str`): URI ссылка на содержимое.
  15. pixels (:obj:`list` из :obj:`str`): Ссылки на gif изображения для отслеживания просмотров (web beacon).
  16. theme (:obj:`str`): Тема оформления.
  17. playlist_theme (:obj:`str`): Тема плейлиста TODO.
  18. button (:obj:`str`): Текст кнопки.
  19. client (:obj:`yandex_music.Client`, optional): Клиент Yandex Music.
  20. """
  21. image: str
  22. background: str
  23. reference: str
  24. pixels: List[str]
  25. theme: str
  26. playlist_theme: str
  27. button: str
  28. client: Optional['ClientType'] = None
  29. def __post_init__(self) -> None:
  30. self._id_attrs = (self.image, self.reference, self.pixels)