yandex_music.Track

class yandex_music.Track(id_: Union[str, int], title: Optional[str] = None, available: Optional[bool] = None, artists: List[Artist] = None, albums: List[Album] = None, available_for_premium_users: Optional[bool] = None, lyrics_available: Optional[bool] = None, poetry_lover_matches: List[PoetryLoverMatch] = None, best: Optional[bool] = None, real_id: Union[str, int, None] = None, og_image: Optional[str] = None, type_: Optional[str] = None, cover_uri: Optional[str] = None, major: Optional[Major] = None, duration_ms: Optional[int] = None, storage_dir: Optional[str] = None, file_size: Optional[int] = None, substituted: Optional[Track] = None, matched_track: Optional[Track] = None, normalization: Optional[Normalization] = None, error: Optional[str] = None, can_publish: Optional[bool] = None, state: Optional[str] = None, desired_visibility: Optional[str] = None, filename: Optional[str] = None, user_info: Optional[User] = None, meta_data: Optional[MetaData] = None, regions: Optional[List[str]] = None, available_as_rbt: Optional[bool] = None, content_warning: Optional[str] = None, explicit: Optional[bool] = None, preview_duration_ms: Optional[int] = None, available_full_without_permission: Optional[bool] = None, version: Optional[str] = None, remember_position: Optional[bool] = None, client: Optional[Client] = None, **kwargs)
Базовые классы: yandex_music.base.YandexMusicObject

Класс, представляющий трек.

Примечание

Известные значения поля content_warning: explicit.

Известные значения поля type: music.

Поля can_publish, state, desired_visibility, filename, user_info доступны только у треков что были загружены пользователем.

id

Уникальный идентификатор.

Type:int | str
title

Название.

Type:str
available

Доступен ли для прослушивания.

Type:bool
artists

Исполнители.

Type:list из yandex_music.Artist
albums

Альбомы.

Type:list из yandex_music.Album
available_for_premium_users

Доступен ли для пользователей с подпиской.

Type:bool
lyrics_available

Доступен ли текст песни.

Type:bool
poetry_lover_matches

Список слов TODO.

Type:list из yandex_music.PoetryLoverMatch
best

Лучшей ли трек TODO.

Type:bool
real_id

TODO.

Type:int | str
og_image

Ссылка на превью Open Graph.

Type:str
type

Тип.

Type:str
cover_uri

Ссылка на изображение с обложкой.

Type:str
major

Мейджор-лейбл.

Type:yandex_music.Major | None
duration_ms

Длительность трека в миллисекундах.

Type:int
storage_dir

В какой папке на сервере хранится файл TODO.

Type:str
file_size

Размер файла. TODO добавить единицу измерения.

Type:int
substituted

Замещённый трек.

Type:yandex_music.Track
matched_track

Соответствующий трек TODO.

Type:yandex_music.Track
normalization

Значения для нормализации трека.

Type:list из yandex_music.Normalization
error

Сообщение об ошибке.

Type:str
can_publish

Может ли быть опубликован.

Type:bool
state

Состояние, например, playable.

Type:str
desired_visibility

Видимость трека.

Type:str
filename

Название файла.

Type:str
user_info

Информация о пользователе, который загрузил трек.

Type:yandex_music.User
meta_data

Информация о метаданных трека.

Type:yandex_music.MetaData
regions

Регион TODO.

Type:list из str
available_as_rbt

TODO.

Type:bool
content_warning

Тип откровенного контента.

Type:str
explicit

Содержит ли откровенный контент.

Type:bool
preview_duration_ms

TODO.

Type:int
available_full_without_permission

Доступен ли без подписки.

Type:bool
version

Версия.

Type:str
remember_position

TODO.

Type:bool
download_info

Информация о вариантах загрузки трека

Type:list из yandex_music.DownloadInfo
client

Клиент Yandex Music.

Type:yandex_music.Client
Параметры:
  • id (int | str) – Уникальный идентификатор.
  • title (str, optional) – Название.
  • available (bool, optional) – Доступен ли для прослушивания.
  • artists (list из yandex_music.Artist, optional) – Исполнители.
  • albums (list из yandex_music.Album, optional) – Альбомы.
  • available_for_premium_users (bool, optional) – Доступен ли для пользователей с подпиской.
  • lyrics_available (bool, optional) – Доступен ли текст песни.
  • poetry_lover_matches (list из yandex_music.PoetryLoverMatch, optional) – Список слов TODO.
  • best (bool, optional) – Лучшей ли трек TODO.
  • real_id (int | str, optional) – TODO.
  • og_image (str, optional) – Ссылка на превью Open Graph.
  • type (str, optional) – Тип.
  • cover_uri (str, optional) – Ссылка на изображение с обложкой.
  • major (yandex_music.Major, optional) – Мейджор-лейбл.
  • duration_ms (int, optional) – Длительность трека в миллисекундах.
  • storage_dir (str, optional) – В какой папке на сервере хранится файл TODO.
  • file_size (int, optional) – Размер файла. TODO добавить единицу измерения.
  • substituted (yandex_music.Track, optional) – Замещённый трек.
  • matched_track (yandex_music.Track, optional) – Соответствующий трек TODO.
  • normalization (list из yandex_music.Normalization, optional) – Значения для нормализации трека.
  • error (str, optional) – Сообщение об ошибке.
  • can_publish (bool, optional) – Может ли быть опубликован.
  • state (str, optional) – Состояние, например, playable.
  • desired_visibility (str, optional) – Видимость трека.
  • filename (str, optional) – Название файла.
  • user_info (yandex_music.User, optional) – Информация о пользователе, который загрузил трек.
  • meta_data (yandex_music.MetaData, optional) – Информация о метаданных трека.
  • regions (list из str, optional) – Регион TODO.
  • available_as_rbt (bool, optional) – TODO.
  • content_warning (str, optional) – Тип откровенного контента.
  • explicit (bool, optional) – Содержит ли откровенный контент.
  • preview_duration_ms (int, optional) – TODO.
  • available_full_without_permission (bool, optional) – Доступен ли без подписки.
  • version (str, optional) – Версия.
  • remember_position (bool, optional) – TODO.
  • client (yandex_music.Client) – Клиент Yandex Music.
  • **kwargs – Произвольные ключевые аргументы полученные от API.
classmethod de_json(data: dict, client: Client) → Optional[Track]

Десериализация объекта.

Параметры:
  • data (dict) – Поля и значения десериализуемого объекта.
  • client (yandex_music.Client, optional) – Клиент Yandex Music.
Результат:

Трек.

Тип результата:

yandex_music.Track

classmethod de_list(data: dict, client: Client) → List[Track]

Десериализация списка объектов.

Параметры:
  • data (list) – Список словарей с полями и значениями десериализуемого объекта.
  • client (yandex_music.Client, optional) – Клиент Yandex Music.
Результат:

Треки.

Тип результата:

list из yandex_music.Track

dislike(*args, **kwargs) → bool

Сокращение для:

client.users_likes_tracks_remove(track.id, user.id *args, **kwargs)

download(filename: str, codec: str = 'mp3', bitrate_in_kbps: int = 192) → None

Загрузка трека.

Примечание

Известные значения codec: mp3, aac.

Известные значения bitrate_in_kbps: 64, 128, 192, 320.

Параметры:
  • filename (str) – Путь для сохранения файла с названием и расширением.
  • codec (str, optional) – Кодек из доступных в self.download_info.
  • bitrate_in_kbps (int, optional) – Битрейт из доступных в self.download_info для данного кодека.
Raises:

yandex_music.exceptions.InvalidBitrate – Если в self.download_info не найден подходящий трек.

downloadCover(filename: str, size: str = '200x200') → None

Псевдоним для download_cover

downloadOgImage(filename: str, size: str = '200x200') → None

Псевдоним для download_og_image

download_cover(filename: str, size: str = '200x200') → None

Загрузка обложки.

Параметры:
  • filename (str) – Путь для сохранения файла с названием и расширением.
  • size (str, optional) – Размер обложки.
download_og_image(filename: str, size: str = '200x200') → None

Загрузка обложки.

Предпочтительнее использовать self.download_cover().

Параметры:
  • filename (str) – Путь для сохранения файла с названием и расширением.
  • size (str, optional) – Размер обложки.
getDownloadInfo(get_direct_links=False) → List[DownloadInfo]

Псевдоним для get_download_info

getSupplement(*args, **kwargs) → Optional[Supplement]

Псевдоним для get_supplement

get_download_info(get_direct_links=False) → List[DownloadInfo]

Сокращение для:

client.tracks_download_info(self.track_id, get_direct_links)

get_supplement(*args, **kwargs) → Optional[Supplement]

Сокращение для:

client.track_supplement(track.id, *args, **kwargs)

like(*args, **kwargs) → bool

Сокращение для:

client.users_likes_tracks_add(track.id, user.id, *args, **kwargs)

trackId

Псевдоним для track_id

track_id

Уникальный идентификатор трека состоящий из его номера и номера альбома или просто из номера.

Type:str