video_supplement.py 1.4 KB

123456789101112131415161718192021222324252627282930313233343536
  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 VideoSupplement(YandexMusicModel):
  8. """Класс, представляющий видеоклипы.
  9. Attributes:
  10. cover (:obj:`str`): URL на обложку видео.
  11. provider (:obj:`str`): Сервис поставляющий видео.
  12. title (:obj:`str`, optional): Название видео.
  13. provider_video_id (:obj:`str`, optional): Уникальный идентификатор видео на сервисе.
  14. url (:obj:`str`, optional): URL на видео.
  15. embed_url (:obj:`str`, optional): URL на видео, находящегося на серверах Яндекса.
  16. embed (:obj:`str`, optional): HTML тег для встраивания видео.
  17. client (:obj:`yandex_music.Client`, optional): Клиент Yandex Music.
  18. """
  19. cover: str
  20. provider: str
  21. title: Optional[str] = None
  22. provider_video_id: Optional[str] = None
  23. url: Optional[str] = None
  24. embed_url: Optional[str] = None
  25. embed: Optional[str] = None
  26. client: Optional['ClientType'] = None
  27. def __post_init__(self) -> None:
  28. self._id_attrs = (self.cover, self.title, self.provider_video_id)