コミット
0f860f67e5
|
@ -0,0 +1,15 @@
|
|||
Пакет yandex_music.account
|
||||
==========================
|
||||
|
||||
.. toctree::
|
||||
|
||||
yandex_music.account.status
|
||||
yandex_music.account.account
|
||||
yandex_music.account.passport_phone
|
||||
yandex_music.account.plus
|
||||
yandex_music.account.permissions
|
||||
yandex_music.account.subscription
|
||||
yandex_music.account.auto_renewable
|
||||
yandex_music.account.product
|
||||
yandex_music.account.price
|
||||
yandex_music.account.user_settings
|
|
@ -0,0 +1,6 @@
|
|||
yandex_music.UserSettings
|
||||
=========================
|
||||
|
||||
.. autoclass:: yandex_music.UserSettings
|
||||
:members:
|
||||
:show-inheritance:
|
|
@ -8,7 +8,7 @@
|
|||
yandex_music.utils
|
||||
yandex_music.genre
|
||||
yandex_music.track
|
||||
yandex_music.status
|
||||
yandex_music.account
|
||||
yandex_music.likes
|
||||
yandex_music.album
|
||||
yandex_music.search
|
||||
|
|
|
@ -1,14 +0,0 @@
|
|||
Пакет yandex_music.status
|
||||
=========================
|
||||
|
||||
.. toctree::
|
||||
|
||||
yandex_music.status.status
|
||||
yandex_music.status.account
|
||||
yandex_music.status.passport_phone
|
||||
yandex_music.status.plus
|
||||
yandex_music.status.permissions
|
||||
yandex_music.status.subscription
|
||||
yandex_music.status.auto_renewable
|
||||
yandex_music.status.product
|
||||
yandex_music.status.price
|
|
@ -7,7 +7,7 @@ from yandex_music import YandexMusicObject
|
|||
|
||||
|
||||
class Account(YandexMusicObject):
|
||||
"""Класс, предоставляющий основную информацию об аккаунте пользователя.
|
||||
"""Класс, представляющий основную информацию об аккаунте пользователя.
|
||||
|
||||
Attributes:
|
||||
now (:obj:`str`): Текущая дата и время.
|
||||
|
|
|
@ -7,7 +7,7 @@ from yandex_music import YandexMusicObject
|
|||
|
||||
|
||||
class Permissions(YandexMusicObject):
|
||||
"""Класс, предоставляющий информацию о правах пользователя, их изначальных значениях и даты окончания.
|
||||
"""Класс, представляющий информацию о правах пользователя, их изначальных значениях и даты окончания.
|
||||
|
||||
Attributes:
|
||||
until (:obj:`str`): Дата окончания прав.
|
||||
|
|
|
@ -10,16 +10,16 @@ class Status(YandexMusicObject):
|
|||
"""Класс, представляющий подробную информацию об аккаунте пользователя.
|
||||
|
||||
Attributes:
|
||||
account (:obj:`yandex_music.Account`): Объект класса :class:`yandex_music.Account` предоставляющий основную
|
||||
account (:obj:`yandex_music.Account`): Объект класса :class:`yandex_music.Account` представляющий основную
|
||||
информацию об аккаунте.
|
||||
permissions (:obj:`yandex_music.Permissions`): Объект класса :class:`yandex_music.Permissions` предоставляющий
|
||||
permissions (:obj:`yandex_music.Permissions`): Объект класса :class:`yandex_music.Permissions` представляющий
|
||||
информацию о правах пользователя.
|
||||
subscription (:obj:`yandex_music.Subscription`): Объект класса :class:`yandex_music.Subscription` предоставляющий
|
||||
subscription (:obj:`yandex_music.Subscription`): Объект класса :class:`yandex_music.Subscription` представляющий
|
||||
информацию о подписках
|
||||
cache_limit (:obj:`int`): Максимальное количество загруженных треков.
|
||||
subeditor (:obj:`bool`): Наличие статуса модератора проверки корректности информации.
|
||||
subeditor_level (:obj:`int`): Уровень статуса модератора.
|
||||
plus (:obj:`yandex_music.Plus`): Объект класса :class:`yandex_music.Plus` предоставляющий информацию о Plus
|
||||
plus (:obj:`yandex_music.Plus`): Объект класса :class:`yandex_music.Plus` представляющий информацию о Plus
|
||||
подписке.
|
||||
default_email (:obj:`str`): Основной e-mail адрес аккаунта.
|
||||
skips_per_hour (:obj:`int`): Количество переключение треков на радио в час.
|
||||
|
@ -29,16 +29,16 @@ class Status(YandexMusicObject):
|
|||
Music.
|
||||
|
||||
Args:
|
||||
account (:obj:`yandex_music.Account`): Объект класса :class:`yandex_music.Account` предоставляющий основную
|
||||
account (:obj:`yandex_music.Account`): Объект класса :class:`yandex_music.Account` представляющий основную
|
||||
информацию об аккаунте.
|
||||
permissions (:obj:`yandex_music.Permissions`): Объект класса :class:`yandex_music.Permissions` предоставляющий
|
||||
permissions (:obj:`yandex_music.Permissions`): Объект класса :class:`yandex_music.Permissions` представляющий
|
||||
информацию о правах пользователя.
|
||||
subscription (:obj:`yandex_music.Subscription`): Объект класса :class:`yandex_music.Subscription` предоставляющий
|
||||
subscription (:obj:`yandex_music.Subscription`): Объект класса :class:`yandex_music.Subscription` представляющий
|
||||
информацию о подписках
|
||||
cache_limit (:obj:`int`, optional): Максимальное количество загруженных треков.
|
||||
subeditor (:obj:`bool`, optional): Наличие статуса модератора проверки корректности информации.
|
||||
subeditor_level (:obj:`int`, optional): Уровень статуса модератора.
|
||||
plus (:obj:`yandex_music.Plus`, optional): Объект класса :class:`yandex_music.Plus` предоставляющий информацию о
|
||||
plus (:obj:`yandex_music.Plus`, optional): Объект класса :class:`yandex_music.Plus` представляющий информацию о
|
||||
Plus подписке.
|
||||
default_email (:obj:`str`, optional): Основной e-mail адрес аккаунта.
|
||||
skips_per_hour (:obj:`int`, optional): Количество переключение треков на радио в час.
|
||||
|
|
|
@ -7,7 +7,7 @@ from yandex_music import YandexMusicObject
|
|||
|
||||
|
||||
class Subscription(YandexMusicObject):
|
||||
"""Класс, предоставляющий информацию о подписках пользователя.
|
||||
"""Класс, представляющий информацию о подписках пользователя.
|
||||
|
||||
Attributes:
|
||||
auto_renewable (:obj:`list` из :obj:`yandex_music.AutoRenewable`): Список объектов класса
|
||||
|
|
|
@ -7,16 +7,55 @@ from yandex_music import YandexMusicObject
|
|||
|
||||
|
||||
class UserSettings(YandexMusicObject):
|
||||
"""Класс, предоставляющий настройки пользователя.
|
||||
"""Класс, представляющий настройки пользователя.
|
||||
|
||||
Доступные значения для поля `theme`: `white`, `black`.
|
||||
Доступные значения для полей `user_music_visibility` и `user_social_visibility`: `private`, `public`.
|
||||
Note:
|
||||
Доступные значения для поля `theme`: `white`, `black`.
|
||||
|
||||
Доступные значения для полей `user_music_visibility` и `user_social_visibility`: `private`, `public`.
|
||||
|
||||
Notes:
|
||||
`promos_disabled`, `ads_disabled`, `rbt_disabled` устарели и не работают.
|
||||
|
||||
`last_fm_scrobbling_enabled`, `facebook_scrobbling_enabled` выглядят устаревшими.
|
||||
|
||||
Attributes:
|
||||
uid (:obj:`int`): Уникальный идентификатор пользователя.
|
||||
last_fm_scrobbling_enabled (:obj:`bool`): Скробблинг lastfm.
|
||||
shuffle_enabled (:obj:`bool`): Переключать треки в случайном порядке.
|
||||
volume_percents (:obj:`int`): Громкость звука в процентах.
|
||||
modified (:obj:`str`): Дата изменения настроек.
|
||||
facebook_scrobbling_enabled (:obj:`bool`): Скробблинг facebook.
|
||||
add_new_track_on_playlist_top (:obj:`bool`): Добавлять новые треки в начало плейлиста.
|
||||
user_music_visibility (:obj:`str`): Публичный доступ к моей фонотеке.
|
||||
user_social_visibility (:obj:`str`): Показывать соцсети на странице.
|
||||
rbt_disabled (:obj:`bool`): TODO (неиспользуемая фича).
|
||||
theme (:obj:`str`): Тема оформления.
|
||||
promos_disabled (:obj:`bool`): Не показывать рекламируемый контент).
|
||||
auto_play_radio (:obj:`bool`): Бесконечный поток музыки.
|
||||
ads_disabled (:obj:`bool`): Не показывать рекламу.
|
||||
disk_enabled (:obj:`bool`): TODO.
|
||||
show_disk_tracks_in_library (:obj:`bool`): Показывать локальные треки в библиотеке.
|
||||
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
|
||||
Music.
|
||||
|
||||
Args:
|
||||
uid (:obj:`int`): Уникальный идентификатор пользователя.
|
||||
last_fm_scrobbling_enabled (:obj:`bool`): Скробблинг lastfm.
|
||||
shuffle_enabled (:obj:`bool`): Переключать треки в случайном порядке.
|
||||
volume_percents (:obj:`int`): Громкость звука в процентах.
|
||||
modified (:obj:`str`): Дата изменения настроек.
|
||||
facebook_scrobbling_enabled (:obj:`bool`): Скробблинг facebook.
|
||||
add_new_track_on_playlist_top (:obj:`bool`): Добавлять новые треки в начало плейлиста.
|
||||
user_music_visibility (:obj:`str`): Публичный доступ к моей фонотеке.
|
||||
user_social_visibility (:obj:`str`): Показывать соцсети на странице.
|
||||
rbt_disabled (:obj:`bool`): TODO (неиспользуемая фича).
|
||||
theme (:obj:`str`): Тема оформления.
|
||||
promos_disabled (:obj:`bool`): Не показывать рекламируемый контент).
|
||||
auto_play_radio (:obj:`bool`): Бесконечный поток музыки.
|
||||
ads_disabled (:obj:`bool`, optional): Не показывать рекламу.
|
||||
disk_enabled (:obj:`bool`, optional): TODO.
|
||||
show_disk_tracks_in_library (:obj:`bool`, optional): Показывать локальные треки в библиотеке.
|
||||
client (:obj:`yandex_music.Client`, optional): Объект класса :class:`yandex_music.Client` представляющий клиент
|
||||
Yandex Music.
|
||||
**kwargs: Произвольные ключевые аргументы полученные от API.
|
||||
|
|
|
@ -7,7 +7,7 @@ from yandex_music import YandexMusicObject
|
|||
|
||||
|
||||
class ArtistAlbums(YandexMusicObject):
|
||||
"""Класс представляющий страницу списка альбомов артиста.
|
||||
"""Класс, представляющий страницу списка альбомов артиста.
|
||||
|
||||
Attributes:
|
||||
albums (:obj:`list` из :obj:`yandex_music.Album`): Список альбомов артиста.
|
||||
|
|
|
@ -7,7 +7,7 @@ from yandex_music import YandexMusicObject
|
|||
|
||||
|
||||
class ArtistTracks(YandexMusicObject):
|
||||
"""Класс представляющий страницу списка треков артиста.
|
||||
"""Класс, представляющий страницу списка треков артиста.
|
||||
|
||||
Attributes:
|
||||
tracks (:obj:`list` из :obj:`yandex_music.Track`): Список треков артиста.
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
import logging
|
||||
import functools
|
||||
|
||||
from datetime import datetime
|
||||
from typing import Callable, Union, List, Optional
|
||||
from typing import Callable, Union, List, Optional, Dict
|
||||
|
||||
from yandex_music import YandexMusicObject, Status, Settings, PermissionAlerts, Experiments, Artist, Album, Playlist, \
|
||||
TracksList, Track, AlbumsLikes, ArtistsLikes, PlaylistsLikes, Feed, PromoCodeStatus, DownloadInfo, Search, \
|
||||
|
@ -48,17 +49,18 @@ def log(method):
|
|||
|
||||
|
||||
class Client(YandexMusicObject):
|
||||
"""Класс представляющий клиент Yandex Music.
|
||||
"""Класс, представляющий клиент Yandex Music.
|
||||
|
||||
При `fetch_account_status = False` многие сокращения перестанут работать в связи с тем, что неоткуда будет взять
|
||||
uid аккаунта для отправки запроса. Так же в большинстве методов придётся передавать uid явно.
|
||||
Note:
|
||||
При `fetch_account_status = False` многие сокращения перестанут работать в связи с тем, что неоткуда будет взять
|
||||
uid аккаунта для отправки запроса. Так же в большинстве методов придётся передавать `uid` явно.
|
||||
|
||||
Attributes:
|
||||
logger (:obj:`logging.Logger`): Объект логера.
|
||||
token (:obj:`str`): Уникальный ключ для аутентификации.
|
||||
base_url (:obj:`str`): Ссылка на API Yandex Music.
|
||||
oauth_url (:obj:`str`): Ссылка на OAuth Yandex Music.
|
||||
me (:obj:`yandex_music.Status`): Объект класса :class:`yandex_music.Status` предоставляющего основную
|
||||
me (:obj:`yandex_music.Status`): Объект класса :class:`yandex_music.Status` представляющего основную
|
||||
информацию об аккаунте.
|
||||
|
||||
Args:
|
||||
|
@ -137,7 +139,8 @@ class Client(YandexMusicObject):
|
|||
def from_token(cls, token: str, *args, **kwargs) -> 'Client':
|
||||
"""Инициализция клиента по токену.
|
||||
|
||||
Ничем не отличается от Client(token). Так исторически сложилось.
|
||||
Note:
|
||||
Ничем не отличается от `Client(token)`. Так исторически сложилось.
|
||||
|
||||
Args:
|
||||
token (:obj:`str`, optional): Уникальный ключ для аутентификации.
|
||||
|
@ -226,7 +229,7 @@ class Client(YandexMusicObject):
|
|||
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
|
||||
|
||||
Returns:
|
||||
:obj:`yandex_music.Status`: Объекта класса :class:`yandex_music.Status` предоставляющий информацию об
|
||||
:obj:`yandex_music.Status`: Объекта класса :class:`yandex_music.Status` представляющий информацию об
|
||||
аккаунте если валиден, иначе :obj:`None`.
|
||||
|
||||
Raises:
|
||||
|
@ -249,8 +252,8 @@ class Client(YandexMusicObject):
|
|||
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
|
||||
|
||||
Returns:
|
||||
:obj:`yandex_music.UserSettings`: Объекта класса :class:`yandex_music.UserSettings` предоставляющий
|
||||
настройки пользователя, иначе :obj:`None`.
|
||||
:obj:`yandex_music.UserSettings`: Объекта класса :class:`yandex_music.UserSettings` представляющий
|
||||
настройки пользователя, иначе :obj:`None`.
|
||||
|
||||
Raises:
|
||||
:class:`yandex_music.YandexMusicError`
|
||||
|
@ -263,20 +266,25 @@ class Client(YandexMusicObject):
|
|||
return UserSettings.de_json(result, self)
|
||||
|
||||
@log
|
||||
def account_settings_set(self, param: str, value: Union[str, int, bool], timeout: Union[int, float] = None,
|
||||
def account_settings_set(self, param: str = None, value: Union[str, int, bool] = None,
|
||||
data: Dict[str, Union[str, int, bool]] = None, timeout: Union[int, float] = None,
|
||||
*args, **kwargs) -> Optional[Settings]:
|
||||
"""Изменение настроек текущего пользователя.
|
||||
|
||||
Доступные названия параметров есть поля в классе :class:`yandex_music.UserSettings`, только в CamelCase.
|
||||
Note:
|
||||
Доступные названия параметров есть поля в классе :class:`yandex_music.UserSettings`, только в CamelCase.
|
||||
|
||||
Args:
|
||||
param (:obj:`str`): Название параметра для изменения.
|
||||
value (:obj:`str` | :obj:`int` | :obj:`bool`): Значение параметра.
|
||||
data (:obj:`dict`): Словарь параметров и значений для множественного изменения.
|
||||
timeout (:obj:`int` | :obj:`float`, optional): Если это значение указано, используется как время ожидания
|
||||
ответа от сервера вместо указанного при создании пула.
|
||||
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
|
||||
|
||||
Returns:
|
||||
:obj:`yandex_music.UserSettings`: Объекта класса :class:`yandex_music.UserSettings` предоставляющий
|
||||
настройки пользователя, иначе :obj:`None`.
|
||||
:obj:`yandex_music.UserSettings`: Объекта класса :class:`yandex_music.UserSettings` представляющий
|
||||
настройки пользователя, иначе :obj:`None`.
|
||||
|
||||
Raises:
|
||||
:class:`yandex_music.YandexMusicError`
|
||||
|
@ -284,7 +292,10 @@ class Client(YandexMusicObject):
|
|||
|
||||
url = f'{self.base_url}/account/settings'
|
||||
|
||||
result = self._request.get(url, params={param: value}, timeout=timeout, *args, **kwargs)
|
||||
if not data:
|
||||
data = {param: value}
|
||||
|
||||
result = self._request.post(url, data=data, timeout=timeout, *args, **kwargs)
|
||||
|
||||
return UserSettings.de_json(result, self)
|
||||
|
||||
|
@ -298,7 +309,7 @@ class Client(YandexMusicObject):
|
|||
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
|
||||
|
||||
Returns:
|
||||
:obj:`yandex_music.Settings`: Объекта класса :class:`yandex_music.Settings` предоставляющий информацию о
|
||||
:obj:`yandex_music.Settings`: Объекта класса :class:`yandex_music.Settings` представляющий информацию о
|
||||
предлагаемых продуктах, иначе :obj:`None`.
|
||||
|
||||
Raises:
|
||||
|
@ -419,8 +430,9 @@ class Client(YandexMusicObject):
|
|||
*args, **kwargs) -> Optional[Landing]:
|
||||
"""Получение лендинг-страницы содержащий блоки с новыми релизами, чартами, плейлистами с новинками и т.д.
|
||||
|
||||
Поддерживаемые типы блоков: personalplaylists, promotions, new-releases, new-playlists, mixes,c hart, artists,
|
||||
albums, playlists, play_contexts.
|
||||
Note:
|
||||
Поддерживаемые типы блоков: `personalplaylists`, `promotions`, `new-releases`, `new-playlists`, `mixes`,
|
||||
`chart`, `artists`, `albums`, `playlists`, `play_contexts`.
|
||||
|
||||
Args:
|
||||
blocks (:obj:`str` | :obj:`list` из :obj:`str`): Блок или список блоков необходимых для выдачи.
|
||||
|
@ -504,7 +516,7 @@ class Client(YandexMusicObject):
|
|||
|
||||
Returns:
|
||||
:obj:`yandex_music.Supplement`: Объект класса `yandex_music.Supplement` представляющий дополнительную
|
||||
информацию о треке.
|
||||
информацию о треке.
|
||||
|
||||
Raises:
|
||||
:class:`yandex_music.YandexMusicError`
|
||||
|
@ -529,7 +541,7 @@ class Client(YandexMusicObject):
|
|||
|
||||
Returns:
|
||||
:obj:`yandex_music.SimilarTracks`: Объект класса `yandex_music.SimilarTracks` представляющий список похожих
|
||||
треков на другой трек.
|
||||
треков на другой трек.
|
||||
|
||||
Raises:
|
||||
:class:`yandex_music.YandexMusicError`
|
||||
|
@ -704,16 +716,19 @@ class Client(YandexMusicObject):
|
|||
*args, **kwargs) -> Optional[Settings]:
|
||||
"""Получение настроек пользователя.
|
||||
|
||||
Для получения настроек пользователя нужно быть авторизованным или владеть `user_id`.
|
||||
Note:
|
||||
Для получения настроек пользователя нужно быть авторизованным или владеть `user_id`.
|
||||
|
||||
Args:
|
||||
user_id (:obj:`str` | :obj:`int`, optional): Уникальный идентификатор пользователя чьи настройки хотим
|
||||
получить.
|
||||
timeout (:obj:`int` | :obj:`float`, optional): Если это значение указано, используется как время ожидания
|
||||
ответа от сервера вместо указанного при создании пула.
|
||||
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
|
||||
|
||||
Returns:
|
||||
:obj:`yandex_music.UserSettings`: Объекта класса :class:`yandex_music.UserSettings` предоставляющий
|
||||
настройки пользователя, иначе :obj:`None`.
|
||||
:obj:`yandex_music.UserSettings`: Объекта класса :class:`yandex_music.UserSettings` представляющий
|
||||
настройки пользователя, иначе :obj:`None`.
|
||||
|
||||
Raises:
|
||||
:class:`yandex_music.YandexMusicError`
|
||||
|
@ -860,7 +875,8 @@ class Client(YandexMusicObject):
|
|||
timeout: Union[int, float] = None, *args, **kwargs) -> Optional[Playlist]:
|
||||
"""Изменение видимости плейлиста.
|
||||
|
||||
Видимость (visibility) может быть задана только одним из двух значений: private, public.
|
||||
Note:
|
||||
Видимость (`visibility`) может быть задана только одним из двух значений: `private`, `public`.
|
||||
|
||||
Args:
|
||||
kind (:obj:`str` | :obj:`int`): Уникальный идентификатор плейлиста.
|
||||
|
@ -893,8 +909,10 @@ class Client(YandexMusicObject):
|
|||
*args, **kwargs) -> Optional[Playlist]:
|
||||
"""Изменение плейлиста.
|
||||
|
||||
Для получения отличий есть вспомогательный класс :class:`from yandex_music.utils.difference.Difference`.
|
||||
Так же существуют уже готовые методы-обёртки над операциями.
|
||||
Note:
|
||||
Для получения отличий есть вспомогательный класс :class:`yandex_music.utils.difference.Difference`.
|
||||
|
||||
Так же существуют уже готовые методы-обёртки над операциями.
|
||||
|
||||
Args:
|
||||
kind (:obj:`str` | :obj:`int`): Уникальный идентификатор плейлиста.
|
||||
|
@ -934,7 +952,8 @@ class Client(YandexMusicObject):
|
|||
timeout: Union[int, float] = None, *args, **kwargs) -> Optional[Playlist]:
|
||||
"""Добавление трека в плейлист.
|
||||
|
||||
Трек можно вставить с любое место плейлиста задав индекс вставки (аргумент at).
|
||||
Note:
|
||||
Трек можно вставить с любое место плейлиста задав индекс вставки (аргумент `at`).
|
||||
|
||||
Args:
|
||||
kind (:obj:`str` | :obj:`int`): Уникальный идентификатор плейлиста.
|
||||
|
@ -968,7 +987,8 @@ class Client(YandexMusicObject):
|
|||
*args, **kwargs) -> Optional[Playlist]:
|
||||
"""Удаление треков из плейлиста.
|
||||
|
||||
Для удаление необходимо указать границы с какого по какой элемент (трек) удалить.
|
||||
Note:
|
||||
Для удаление необходимо указать границы с какого по какой элемент (трек) удалить.
|
||||
|
||||
Args:
|
||||
kind (:obj:`str` | :obj:`int`): Уникальный идентификатор плейлиста.
|
||||
|
@ -999,7 +1019,8 @@ class Client(YandexMusicObject):
|
|||
def rotor_account_status(self, timeout: Union[int, float] = None, *args, **kwargs) -> Optional[Status]:
|
||||
"""Получение статуса пользователя с дополнителньыми полями.
|
||||
|
||||
Данный статус отличается от обычного наличием дополнительных полей, например, `skips_per_hour`.
|
||||
Note:
|
||||
Данный статус отличается от обычного наличием дополнительных полей, например, `skips_per_hour`.
|
||||
|
||||
Args:
|
||||
timeout (:obj:`int` | :obj:`float`, optional): Если это значение указано, используется как время ожидания
|
||||
|
@ -1049,7 +1070,9 @@ class Client(YandexMusicObject):
|
|||
*args, **kwargs) -> List[StationResult]:
|
||||
"""Получение всех радиостанций с настройками пользователя.
|
||||
|
||||
Чтобы определить что за тип станции (жанры, настроения, занятие и т.д.) необходимо смотреть в пол `id_for_from`.
|
||||
Note:
|
||||
Чтобы определить что за тип станции (жанры, настроения, занятие и т.д.) необходимо смотреть в поле
|
||||
`id_for_from`.
|
||||
|
||||
Args:
|
||||
language (:obj:`str`): Язык, на котором будет информация о станциях.
|
||||
|
@ -1078,11 +1101,14 @@ class Client(YandexMusicObject):
|
|||
*args, **kwargs) -> bool:
|
||||
"""Отправка ответной реакции на происходящее при прослушивании радио.
|
||||
|
||||
Сообщения о начале прослушивания радио, начале и конце трека, его пропуска.
|
||||
Note:
|
||||
Сообщения о начале прослушивания радио, начале и конце трека, его пропуска.
|
||||
|
||||
Известные типы фидбека: `radioStarted`, `trackStarted`, `trackFinished`, `skip`.
|
||||
Пример `station`: `user:onyourwave`, `genre:allrock`.
|
||||
Пример `from_`: `mobile-radio-user-123456789`.
|
||||
Известные типы фидбека: `radioStarted`, `trackStarted`, `trackFinished`, `skip`.
|
||||
|
||||
Пример `station`: `user:onyourwave`, `genre:allrock`.
|
||||
|
||||
Пример `from_`: `mobile-radio-user-123456789`.
|
||||
|
||||
Args:
|
||||
station (:obj:`str`): Станция.
|
||||
|
@ -1138,6 +1164,12 @@ class Client(YandexMusicObject):
|
|||
"""Сокращение для::
|
||||
|
||||
client.rotor_station_feedback(station, 'radioStarted', timestamp, from, *args, **kwargs)
|
||||
|
||||
Returns:
|
||||
:obj:`bool`: :obj:`True` при успешном выполнении запроса, иначе :obj:`False`.
|
||||
|
||||
Raises:
|
||||
:class:`yandex_music.YandexMusicError`
|
||||
"""
|
||||
return self.rotor_station_feedback(station, 'radioStarted', timestamp, from_=from_, batch_id=batch_id,
|
||||
timeout=timeout, *args, **kwargs)
|
||||
|
@ -1149,6 +1181,12 @@ class Client(YandexMusicObject):
|
|||
"""Сокращение для::
|
||||
|
||||
client.rotor_station_feedback(station, 'trackStarted', timestamp, track_id, *args, **kwargs)
|
||||
|
||||
Returns:
|
||||
:obj:`bool`: :obj:`True` при успешном выполнении запроса, иначе :obj:`False`.
|
||||
|
||||
Raises:
|
||||
:class:`yandex_music.YandexMusicError`
|
||||
"""
|
||||
return self.rotor_station_feedback(station, 'trackStarted', timestamp, track_id=track_id, batch_id=batch_id,
|
||||
timeout=timeout, *args, **kwargs)
|
||||
|
@ -1161,7 +1199,13 @@ class Client(YandexMusicObject):
|
|||
"""Сокращение для::
|
||||
|
||||
client.rotor_station_feedback(station, 'trackFinished', timestamp, track_id, total_played_seconds,
|
||||
*args, **kwargs)
|
||||
*args, **kwargs)
|
||||
|
||||
Returns:
|
||||
:obj:`bool`: :obj:`True` при успешном выполнении запроса, иначе :obj:`False`.
|
||||
|
||||
Raises:
|
||||
:class:`yandex_music.YandexMusicError`
|
||||
"""
|
||||
return self.rotor_station_feedback(station, 'trackFinished', timestamp, track_id=track_id,
|
||||
total_played_seconds=total_played_seconds, batch_id=batch_id,
|
||||
|
@ -1175,7 +1219,13 @@ class Client(YandexMusicObject):
|
|||
"""Сокращение для::
|
||||
|
||||
client.rotor_station_feedback(station, 'skip', timestamp, track_id, total_played_seconds,
|
||||
*args, **kwargs)
|
||||
*args, **kwargs)
|
||||
|
||||
Returns:
|
||||
:obj:`bool`: :obj:`True` при успешном выполнении запроса, иначе :obj:`False`.
|
||||
|
||||
Raises:
|
||||
:class:`yandex_music.YandexMusicError`
|
||||
"""
|
||||
return self.rotor_station_feedback(station, 'skip', timestamp, track_id=track_id,
|
||||
total_played_seconds=total_played_seconds, batch_id=batch_id,
|
||||
|
@ -1211,13 +1261,14 @@ class Client(YandexMusicObject):
|
|||
timeout: Union[int, float] = None, *args, **kwargs) -> bool:
|
||||
"""Изменение настроек определённой станции.
|
||||
|
||||
Доступные значения для `mood_energy`: `fun`, `active`, `calm`, `sad`, `all`.
|
||||
Доступные значения для `diversity`: `favorite`, `popular`, `discover`, `default`.
|
||||
Доступные значения для `language`: `not-russian`, `russian`, `any`.
|
||||
Note:
|
||||
Доступные значения для `mood_energy`: `fun`, `active`, `calm`, `sad`, `all`.
|
||||
|
||||
У станций в `restrictions` есть Enum'ы, а в них `possible_values` - доступные значения для поля.
|
||||
Доступные значения для `diversity`: `favorite`, `popular`, `discover`, `default`.
|
||||
|
||||
Не некоторых аккаунтах не меняется язык...
|
||||
Доступные значения для `language`: `not-russian`, `russian`, `any`.
|
||||
|
||||
У станций в `restrictions` есть Enum'ы, а в них `possible_values` - доступные значения для поля.
|
||||
|
||||
Args:
|
||||
station (:obj:`str`): Станция.
|
||||
|
@ -1254,15 +1305,17 @@ class Client(YandexMusicObject):
|
|||
timeout: Union[int, float] = None, *args, **kwargs) -> Optional[StationTracksResult]:
|
||||
"""Получение цепочки треков определённой станции.
|
||||
|
||||
Для продолжения цепочки треков необходимо:
|
||||
1. Передавать ID трека, что был до этого (первый в цепочки).
|
||||
2. Отправить фидбек о конче или скипе трека, что был передан в `queue`.
|
||||
3. Отправить фидбек о начале следующего трека (второй в цепочки).
|
||||
4. Выполнить запрос получения треков. В ответе придёт новые треки или произойдёт сдвиг цепочки на 1 элемент.
|
||||
Note:
|
||||
Для продолжения цепочки треков необходимо:
|
||||
|
||||
Проход по цепочке до коцна не изучен. Часто встречаются дубликаты.
|
||||
1. Передавать `ID` трека, что был до этого (первый в цепочки).
|
||||
2. Отправить фидбек о конче или скипе трека, что был передан в `queue`.
|
||||
3. Отправить фидбек о начале следующего трека (второй в цепочки).
|
||||
4. Выполнить запрос получения треков. В ответе придёт новые треки или произойдёт сдвиг цепочки на 1 элемент.
|
||||
|
||||
Все официальные клиенты выполняют запросы с `settings2 = True`.
|
||||
Проход по цепочке до коцна не изучен. Часто встречаются дубликаты.
|
||||
|
||||
Все официальные клиенты выполняют запросы с `settings2 = True`.
|
||||
|
||||
Args:
|
||||
station (:obj:`str`): Станция.
|
||||
|
@ -1340,7 +1393,8 @@ class Client(YandexMusicObject):
|
|||
*args, **kwargs) -> Optional[ArtistAlbums]:
|
||||
"""Получение альбомов артиста.
|
||||
|
||||
Известные значения для sort_by: year, rating.
|
||||
Note:
|
||||
Известные значения для `sort_by`: `year`, `rating`.
|
||||
|
||||
Args:
|
||||
artist_id (:obj:`str` | :obj:`int`): Уникальный идентификатор артиста.
|
||||
|
@ -1555,15 +1609,17 @@ class Client(YandexMusicObject):
|
|||
timeout: Union[int, float] = None, *args, **kwargs) -> Optional[ShotEvent]:
|
||||
"""Получение рекламы или шота от Алисы после трека.
|
||||
|
||||
При получения шота от Алисы `prev_track_id` можно не указывать.
|
||||
Note:
|
||||
При получения шота от Алисы `prev_track_id` можно не указывать.
|
||||
|
||||
Если `context = 'playlist'`, то в `context_item` необходимо передать `{OWNER_PLAYLIST}:{ID_PLAYLIST}`.
|
||||
Плейлист с Алисой имеет владельца с `id = 940441070`.
|
||||
Если `context = 'playlist'`, то в `context_item` необходимо передать `{OWNER_PLAYLIST}:{ID_PLAYLIST}`.
|
||||
Плейлист с Алисой имеет владельца с `id = 940441070`.
|
||||
|
||||
ID плейлиста можно получить из блоков landing'a. Получить шот чужого плейлиста нельзя.
|
||||
ID плейлиста можно получить из блоков landing'a. Получить шот чужого плейлиста нельзя.
|
||||
|
||||
Известные значения `context`: `playlist`.
|
||||
Известные значения `types`: `shot`, `ad`.
|
||||
Известные значения `context`: `playlist`.
|
||||
|
||||
Известные значения `types`: `shot`, `ad`.
|
||||
|
||||
Args:
|
||||
prev_track_id (:obj:`str` | :obj:`int`): Уникальный идентификатор предыдущего трека.
|
||||
|
@ -1578,7 +1634,7 @@ class Client(YandexMusicObject):
|
|||
|
||||
Returns:
|
||||
:obj:`yandex_music.ShotEvent`: Объекта класса :class:`yandex_music.ShotEvent`
|
||||
представляющий шоты от Алисы, иначе :obj:`None`.
|
||||
представляющий шоты от Алисы, иначе :obj:`None`.
|
||||
|
||||
Raises:
|
||||
:class:`yandex_music.YandexMusicError`
|
||||
|
|
|
@ -7,7 +7,7 @@ from yandex_music import YandexMusicObject
|
|||
|
||||
|
||||
class Cover(YandexMusicObject):
|
||||
"""Класс представляющий обложку.
|
||||
"""Класс, представляющий обложку.
|
||||
|
||||
Attributes:
|
||||
type (:obj:`str`): Тип обложки.
|
||||
|
|
|
@ -11,7 +11,7 @@ from yandex_music import YandexMusicObject
|
|||
|
||||
|
||||
class DownloadInfo(YandexMusicObject):
|
||||
"""Класс представляющий информацию о вариантах загрузки трека.
|
||||
"""Класс, представляющий информацию о вариантах загрузки трека.
|
||||
|
||||
Attributes:
|
||||
codec (:obj:`str`): Кодек аудиофайла.
|
||||
|
|
|
@ -7,7 +7,7 @@ from yandex_music import YandexMusicObject
|
|||
|
||||
|
||||
class Icon(YandexMusicObject):
|
||||
"""Класс представляющий иконку.
|
||||
"""Класс, представляющий иконку.
|
||||
|
||||
Attributes:
|
||||
background_color (:obj:`str`): Цвет заднего фона в HEX.
|
||||
|
|
|
@ -7,7 +7,7 @@ from yandex_music import YandexMusicObject
|
|||
|
||||
|
||||
class InvocationInfo(YandexMusicObject):
|
||||
"""Класс представляющий информацию о запросе.
|
||||
"""Класс, представляющий информацию о запросе.
|
||||
|
||||
Attributes:
|
||||
hostname (:obj:`str`): Имя удалённого сервера.
|
||||
|
|
|
@ -7,7 +7,7 @@ from yandex_music import YandexMusicObject
|
|||
|
||||
|
||||
class Pager(YandexMusicObject):
|
||||
"""Класс представляющий пагинатор.
|
||||
"""Класс, представляющий пагинатор.
|
||||
|
||||
Attributes:
|
||||
total (:obj:`int`): Всего треков.
|
||||
|
|
|
@ -7,7 +7,7 @@ from yandex_music import YandexMusicObject
|
|||
|
||||
|
||||
class PermissionAlerts(YandexMusicObject):
|
||||
"""Класс представляющий оповещения.
|
||||
"""Класс, представляющий оповещения.
|
||||
|
||||
Attributes:
|
||||
alerts (:obj:`list` из :obj:`str`): Список оповещений.
|
||||
|
|
|
@ -7,7 +7,7 @@ from yandex_music import YandexMusicObject
|
|||
|
||||
|
||||
class PlaylistAbsence(YandexMusicObject):
|
||||
"""Класс представляющий причину отсутствия плейлиста.
|
||||
"""Класс, представляющий причину отсутствия плейлиста.
|
||||
|
||||
Attributes:
|
||||
kind (:obj:`int`): Уникальный идентификатор плейлиста.
|
||||
|
|
|
@ -7,7 +7,7 @@ from yandex_music import YandexMusicObject
|
|||
|
||||
|
||||
class User(YandexMusicObject):
|
||||
"""Класс представляющий пользователя.
|
||||
"""Класс, представляющий пользователя.
|
||||
|
||||
Attributes:
|
||||
uid (:obj:`int`): Идентификатор пользователя.
|
||||
|
|
|
@ -7,7 +7,7 @@ from yandex_music import YandexMusicObject
|
|||
|
||||
|
||||
class PromoCodeStatus(YandexMusicObject):
|
||||
"""Класс представляющий статус активации промо-кода.
|
||||
"""Класс, представляющий статус активации промо-кода.
|
||||
|
||||
Attributes:
|
||||
status (:obj:`str`): Статус операции.
|
||||
|
|
|
@ -7,7 +7,7 @@ from yandex_music import YandexMusicObject
|
|||
|
||||
|
||||
class Search(YandexMusicObject):
|
||||
"""Класс представляющий результаты поиска.
|
||||
"""Класс, представляющий результаты поиска.
|
||||
|
||||
Attributes:
|
||||
search_request_id (:obj:`str`): ID запроса.
|
||||
|
|
|
@ -7,7 +7,7 @@ from yandex_music import YandexMusicObject
|
|||
|
||||
|
||||
class TrackShort(YandexMusicObject):
|
||||
"""Класс представляющий укороченную версию трека с неполными данными.
|
||||
"""Класс, представляющий укороченную версию трека с неполными данными.
|
||||
|
||||
Attributes:
|
||||
id (:obj:`str`): Уникальный идентификатор трека.
|
||||
|
|
|
@ -7,7 +7,7 @@ from yandex_music import YandexMusicObject
|
|||
|
||||
|
||||
class TracksList(YandexMusicObject):
|
||||
"""Класс представляющий список треков.
|
||||
"""Класс, представляющий список треков.
|
||||
|
||||
Attributes:
|
||||
uid (:obj:`int`): Уникальный идентификатор пользователя.
|
||||
|
|
|
@ -7,7 +7,7 @@ from yandex_music import YandexMusicObject
|
|||
|
||||
|
||||
class CaptchaResponse(YandexMusicObject):
|
||||
"""Класс представляющий ответ сервера с запросом на ввод капчи.
|
||||
"""Класс, представляющий ответ сервера с запросом на ввод капчи.
|
||||
|
||||
Attributes:
|
||||
x_captcha_url (:obj:`str`): Ссылка на изображение с капчей.
|
||||
|
|
|
@ -26,7 +26,7 @@ logging.getLogger('urllib3').setLevel(logging.WARNING)
|
|||
|
||||
|
||||
class Request:
|
||||
"""Вспомогателньный класс для yandex_music предоставляющий методы для выполнения POST и GET запросов, скачивания
|
||||
"""Вспомогателньный класс для yandex_music представляющий методы для выполнения POST и GET запросов, скачивания
|
||||
файлов.
|
||||
|
||||
Args:
|
||||
|
|
読み込み中…
新しいイシューから参照