Включены правила pydocstyle (#632)

このコミットが含まれているのは:
Ilya Siamionau 2023-12-24 21:23:23 +01:00 committed by GitHub
コミット 210f375ec2
この署名に対応する既知のキーがデータベースに存在しません
GPGキーID: 4AEE18F83AFDEB23
21個のファイルの変更393行の追加267行の削除

ファイルの表示

@ -9,7 +9,7 @@
[![Поддерживаемые Python версии](https://img.shields.io/badge/python-3.7+-blue.svg)](https://pypi.org/project/yandex-music/)
[![Покрытие кода тестами](https://codecov.io/gh/MarshalX/yandex-music-api/branch/main/graph/badge.svg)](https://codecov.io/gh/MarshalX/yandex-music-api)
[![Качество кода](https://api.codacy.com/project/badge/Grade/27011a5a8d9f4b278d1bfe2fe8725fed)](https://app.codacy.com/gh/MarshalX/yandex-music-api)
[![Статус тестов](https://github.com/MarshalX/yandex-music-api/actions/workflows/test.yml/badge.svg?branch=main)](https://github.com/MarshalX/yandex-music-api/actions/workflows/pytest_full.yml)
[![Статус тестов](https://github.com/MarshalX/yandex-music-api/actions/workflows/test.yml/badge.svg)](https://github.com/MarshalX/yandex-music-api/actions/workflows/test.yml)
[![Статус документации](https://readthedocs.org/projects/yandex-music/badge/?version=latest)](https://yandex-music.readthedocs.io/en/latest/?badge=latest)
[![Лицензия LGPLv3](https://img.shields.io/badge/license-LGPLv3-lightgrey.svg)](https://www.gnu.org/licenses/lgpl-3.0.html)

ファイルの表示

@ -1,15 +1,15 @@
# Configuration file for the Sphinx documentation builder.
#
# This file only contains a selection of the most common options. For a full
# list see the documentation:
# http://www.sphinx-doc.org/en/master/config
"""Configuration file for the Sphinx documentation builder.
# -- Path setup --------------------------------------------------------------
This file only contains a selection of the most common options. For a full
list see the documentation:
http://www.sphinx-doc.org/en/master/config
# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
#
-- Path setup --------------------------------------------------------------
If extensions (or modules to document with autodoc) are in another directory,
add these directories to sys.path here. If the directory is relative to the
documentation root, use os.path.abspath to make it absolute, like shown here.
"""
import os
import sys

ファイルの表示

@ -11,7 +11,7 @@
[![Поддерживаемые Python версии](https://img.shields.io/badge/python-3.7+-blue.svg)](https://pypi.org/project/yandex-music/)
[![Покрытие кода тестами](https://codecov.io/gh/MarshalX/yandex-music-api/branch/main/graph/badge.svg)](https://codecov.io/gh/MarshalX/yandex-music-api)
[![Качество кода](https://api.codacy.com/project/badge/Grade/27011a5a8d9f4b278d1bfe2fe8725fed)](https://app.codacy.com/gh/MarshalX/yandex-music-api)
[![Статус тестов](https://github.com/MarshalX/yandex-music-api/actions/workflows/test.yml/badge.svg?branch=main)](https://github.com/MarshalX/yandex-music-api/actions/workflows/pytest_full.yml)
[![Статус тестов](https://github.com/MarshalX/yandex-music-api/actions/workflows/test.yml/badge.svg)](https://github.com/MarshalX/yandex-music-api/actions/workflows/test.yml)
[![Статус документации](https://readthedocs.org/projects/yandex-music/badge/?version=latest)](https://yandex-music.readthedocs.io/en/latest/?badge=latest)
[![Лицензия LGPLv3](https://img.shields.io/badge/license-LGPLv3-lightgrey.svg)](https://www.gnu.org/licenses/lgpl-3.0.html)

ファイルの表示

@ -1,4 +1,5 @@
#!/usr/bin/env python3
"""Generate async version of client.py and request.py."""
import subprocess
DISCLAIMER = "# THIS IS AUTO GENERATED COPY OF client.py. DON'T EDIT IN BY HANDS #"
@ -8,6 +9,7 @@ REQUEST_METHODS = ('_request_wrapper', 'get', 'post', 'retrieve', 'download')
def gen_request(output_request_filename: str) -> None:
"""Generate async version of request.py."""
with open('yandex_music/utils/request.py', 'r', encoding='UTF-8') as f:
code = f.read()
@ -48,6 +50,7 @@ def gen_request(output_request_filename: str) -> None:
def gen_client(output_client_filename: str) -> None:
"""Generate async version of client.py."""
with open('yandex_music/client.py', 'r', encoding='UTF-8') as f:
code = f.read()

ファイルの表示

@ -1,4 +1,5 @@
#!/usr/bin/env python3
"""Generate camel case aliases for snake case functions."""
import ast
import os
@ -28,6 +29,7 @@ def _validate_function_name(function_name: str) -> bool:
def convert_snake_case_to_camel_case(string: str) -> str:
"""Convert snake case string to camel case string."""
camel_case = ''.join(word.title() for word in string.split('_'))
return camel_case[0].lower() + camel_case[1:]
@ -86,6 +88,7 @@ def _process_file(file: str) -> None:
def main() -> None:
"""Generate camel case aliases for snake case functions."""
for root, _, files in os.walk(SOURCE_FOLDER):
for file in files:
if file.endswith('.py') and file != '__init__.py':

ファイルの表示

@ -3,6 +3,7 @@ extend-select = [
"W", # pycodestyle warnings
"F", # Pyflakes
"I", # isort
"D", # pydocstyle
"C90", # flake8-comprehensions
"B", # flake8-bugbear
"Q", # flake8-quotes
@ -29,22 +30,31 @@ extend-select = [
line-length = 120
target-version = "py37"
ignore = [
"ISC001", # conftlics with format
"PGH004", # use specific rule code with noqa; works bad with JetBrains IDE Warnings
"ANN002", # Missing type annotation for `*args`
"ANN003", # Missing type annotation for `**kwargs`
"ANN101", # Missing type annotation for `self` in method
"ANN102", # Missing type annotation for `cls` in classmethod
"D203", # we are not using blank line before class
"D213", # we are using first line for summary
"D406", "D407", # we are using google style docstring
]
[per-file-ignores]
"examples/*.py" = ["T201", "S311", "ERA001", "INP001", "S106", "BLE001", "S603", "ANN"]
"docs/source/conf.py" = ["INP001"]
"tests/*.py" = ["S101", "ANN"] # Use of assert
"tests/__init__.py" = ["F401"] # Unused import
"yandex_music/*.py" = [
"D105", "D104", "D100", "D107", "D103", "D415", # missing docstring
"D400", # first line should end with a period. TODO(MarshalX): We are using strange docsting style for methods-shortcuts
]
"yandex_music/__init__.py" = ["I001"] # Import sort
"yandex_music/client*.py" = ["T201"] # print
"yandex_music/utils/request*.py" = ["ANN"] # TODO(MarshalX): annotate and remove this ignore
"tests/*.py" = ["S101", "ANN", "D"]
"tests/__init__.py" = ["F401"] # Unused import
"test.py" = ["S101", "ERA001", "T201", "E501", "F401", "F841"]
"yandex_music/utils/request*.py" = ["ANN"] # TODO(MarshalX): annotate and remove this ignore
"docs/source/conf.py" = ["INP001"]
"examples/*.py" = ["T201", "S311", "ERA001", "INP001", "S106", "BLE001", "S603", "ANN", "D"]
[flake8-quotes]
docstring-quotes = "double"

ファイルの表示

@ -1,3 +1,4 @@
"""Setup script for yandex-music-api."""
import re
import sys
@ -6,7 +7,10 @@ from setuptools.command.test import test
class PyTest(test):
"""PyTest test runner."""
def run_tests(self) -> None:
"""Run tests."""
import pytest
sys.exit(pytest.main(['tests']))

ファイルの表示

@ -281,7 +281,6 @@ class Album(YandexMusicObject):
Returns:
:obj:`list` из :obj:`str`: Имена исполнителей.
"""
return [i.name for i in self.artists]
@classmethod

ファイルの表示

@ -33,6 +33,7 @@ class Deprecation(YandexMusicObject):
Args:
data (:obj:`dict`): Поля и значения десериализуемого объекта.
client (:obj:`yandex_music.Client`, optional): Клиент Yandex Music.
Returns:
:obj:`yandex_music.Deprecation`: TODO.
"""

ファイルの表示

@ -31,6 +31,7 @@ class Label(YandexMusicObject):
Args:
data (:obj:`dict`): Поля и значения десериализуемого объекта.
client (:obj:`yandex_music.Client`, optional): Клиент Yandex Music.
Returns:
:obj:`yandex_music.Label`: Лейбл.
"""

ファイルの表示

@ -22,6 +22,8 @@ new_issue_by_template_url = 'https://bit.ly/3dsFxyH'
class YandexMusicObject:
"""Базовый класс для всех объектов библиотеки."""
__metaclass__ = ABCMeta
_id_attrs: tuple = ()
@ -36,6 +38,7 @@ class YandexMusicObject:
@staticmethod
def report_unknown_fields_callback(cls: type, unknown_fields: dict) -> None:
"""Обратный вызов для обработки неизвестных полей."""
logger.warning(
f'Found unknown fields received from API! Please copy warn message '
f'and send to {new_issue_by_template_url} (github issue), thank you!'
@ -44,6 +47,15 @@ class YandexMusicObject:
@staticmethod
def is_valid_model_data(data: Any, *, array: bool = False) -> bool: # noqa: ANN401
"""Проверка на валидность данных.
Args:
data (:obj:`Any`): Данные для проверки.
array (:obj:`bool`, optional): Является ли объект массивом.
Returns:
:obj:`bool`: Валидны ли данные.
"""
if array:
return data and isinstance(data, list) and all(isinstance(item, dict) for item in data)

ファイルの表示

@ -161,7 +161,8 @@ class Client(YandexMusicObject):
"""Получение статуса аккаунта. Нет обязательных параметров.
Args:
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`yandex_music.Status` | :obj:`None`: Информация об аккаунте если он валиден, иначе :obj:`None`.
@ -169,7 +170,6 @@ class Client(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
url = f'{self.base_url}/account/status'
result = self._request.get(url, *args, **kwargs)
@ -181,7 +181,8 @@ class Client(YandexMusicObject):
"""Получение настроек текущего пользователя.
Args:
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`yandex_music.UserSettings` | :obj:`None`: Настройки пользователя если аккаунт валиден,
@ -190,7 +191,6 @@ class Client(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
url = f'{self.base_url}/account/settings'
result = self._request.get(url, *args, **kwargs)
@ -215,7 +215,8 @@ class Client(YandexMusicObject):
param (:obj:`str`): Название параметра для изменения.
value (:obj:`str` | :obj:`int` | :obj:`bool`): Значение параметра.
data (:obj:`dict`): Словарь параметров и значений для множественного изменения.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`yandex_music.UserSettings` | :obj:`None`: Настройки пользователя или :obj:`None`.
@ -223,7 +224,6 @@ class Client(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
url = f'{self.base_url}/account/settings'
if not data:
@ -238,7 +238,8 @@ class Client(YandexMusicObject):
"""Получение предложений по покупке. Нет обязательных параметров.
Args:
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`yandex_music.Settings` | :obj:`None`: Информацию о предлагаемых продуктах если аккаунт валиден
@ -247,7 +248,6 @@ class Client(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
url = f'{self.base_url}/settings'
result = self._request.get(url, *args, **kwargs)
@ -259,7 +259,8 @@ class Client(YandexMusicObject):
"""Получение оповещений. Нет обязательных параметров.
Args:
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`yandex_music.PermissionAlerts` | :obj:`None`: Оповещения если аккаунт валиден или :obj:`None`.
@ -267,7 +268,6 @@ class Client(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
url = f'{self.base_url}/permission-alerts'
result = self._request.get(url, *args, **kwargs)
@ -279,7 +279,8 @@ class Client(YandexMusicObject):
"""Получение значений экспериментальных функций аккаунта.
Args:
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`yandex_music.Experiments` | :obj:`None`: Состояние экспериментальных функций или :obj:`None`.
@ -287,7 +288,6 @@ class Client(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
url = f'{self.base_url}/account/experiments'
result = self._request.get(url, *args, **kwargs)
@ -306,7 +306,8 @@ class Client(YandexMusicObject):
Args:
code (:obj:`str`): Промо-код.
language (:obj:`str`, optional): Язык ответа API в ISO 639-1. По умолчанию язык клиента.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`yandex_music.PromoCodeStatus` | :obj:`None`: Информация об активации промо-кода или :obj:`None`.
@ -314,7 +315,6 @@ class Client(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
url = f'{self.base_url}/account/consume-promo-code'
if not language:
@ -329,7 +329,8 @@ class Client(YandexMusicObject):
"""Получение потока информации (фида) подобранного под пользователя. Содержит умные плейлисты.
Args:
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`yandex_music.Feed` | :obj:`None`: Умные плейлисты пользователя или :obj:`None`.
@ -337,7 +338,6 @@ class Client(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
url = f'{self.base_url}/feed'
result = self._request.get(url, *args, **kwargs)
@ -346,6 +346,18 @@ class Client(YandexMusicObject):
@log
def feed_wizard_is_passed(self, *args, **kwargs) -> bool:
"""Получение информации о прохождении визарда.
Note:
Временное событие на хэллоуин.
Args:
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`bool`: Прошел ли пользователь визард или нет.
"""
url = f'{self.base_url}/feed/wizard/is-passed'
result = self._request.get(url, *args, **kwargs)
@ -362,7 +374,8 @@ class Client(YandexMusicObject):
Args:
blocks (:obj:`str` | :obj:`list` из :obj:`str`): Блок или список блоков необходимых для выдачи.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`yandex_music.Landing` | :obj:`None`: Лендинг-страница или :obj:`None`.
@ -370,7 +383,6 @@ class Client(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
url = f'{self.base_url}/landing3'
result = self._request.get(url, {'blocks': blocks, 'eitherUserId': '10254713668400548221'}, *args, **kwargs)
@ -389,7 +401,8 @@ class Client(YandexMusicObject):
Args:
chart_option (:obj:`str` optional): Параметры чарта.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`yandex_music.ChartInfo`: Чарт.
@ -397,7 +410,6 @@ class Client(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
url = f'{self.base_url}/landing3/chart'
if chart_option:
@ -412,7 +424,8 @@ class Client(YandexMusicObject):
"""Получение полного списка всех новых релизов (альбомов).
Args:
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`yandex_music.LandingList`: Список новых альбомов.
@ -420,7 +433,6 @@ class Client(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
url = f'{self.base_url}/landing3/new-releases'
result = self._request.get(url, *args, **kwargs)
@ -432,7 +444,8 @@ class Client(YandexMusicObject):
"""Получение полного списка всех новых плейлистов.
Args:
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`yandex_music.LandingList`: Список новых плейлистов.
@ -440,7 +453,6 @@ class Client(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
url = f'{self.base_url}/landing3/new-playlists'
result = self._request.get(url, *args, **kwargs)
@ -452,7 +464,8 @@ class Client(YandexMusicObject):
"""Получение подкастов с лендинга.
Args:
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`yandex_music.LandingList`: Список подкастов.
@ -460,7 +473,6 @@ class Client(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
url = f'{self.base_url}/landing3/podcasts'
result = self._request.get(url, *args, **kwargs)
@ -472,7 +484,8 @@ class Client(YandexMusicObject):
"""Получение жанров музыки.
Args:
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`list` из :obj:`yandex_music.Genre` | :obj:`None`: Жанры музыки или :obj:`None`.
@ -480,7 +493,6 @@ class Client(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
url = f'{self.base_url}/genres'
result = self._request.get(url, *args, **kwargs)
@ -499,7 +511,8 @@ class Client(YandexMusicObject):
Args:
tag_id (:obj:`str`): Уникальный идентификатор тега.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`yandex_music.TagResult`: Тег с плейлистами.
@ -507,7 +520,6 @@ class Client(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
url = f'{self.base_url}/tags/{tag_id}/playlist-ids'
result = self._request.get(url, *args, **kwargs)
@ -527,7 +539,8 @@ class Client(YandexMusicObject):
Args:
track_id (:obj:`str` | :obj:`list` из :obj:`str`): Уникальный идентификатор трека или треков.
get_direct_links (:obj:`bool`, optional): Получить ли при вызове метода прямую ссылку на загрузку.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`list` из :obj:`yandex_music.DownloadInfo` | :obj:`None`: Варианты загрузки трека или :obj:`None`.
@ -535,7 +548,6 @@ class Client(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
url = f'{self.base_url}/tracks/{track_id}/download-info'
result = self._request.get(url, *args, **kwargs)
@ -552,7 +564,8 @@ class Client(YandexMusicObject):
Args:
track_id (:obj:`str` | :obj:`int`): Уникальный идентификатор трека.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`yandex_music.Supplement`: Дополнительная информация о треке.
@ -560,7 +573,6 @@ class Client(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
url = f'{self.base_url}/tracks/{track_id}/supplement'
result = self._request.get(url, *args, **kwargs)
@ -586,7 +598,8 @@ class Client(YandexMusicObject):
Args:
track_id (:obj:`str` | :obj:`int`): Уникальный идентификатор трека.
format (:obj:`str`): Формат текста.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`yandex_music.TrackLyrics` | :obj:`None`: Информация о тексте трека.
@ -596,7 +609,6 @@ class Client(YandexMusicObject):
:class:`yandex_music.exceptions.NotFoundError`: Текст у трека отсутствует.
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
url = f'{self.base_url}/tracks/{track_id}/lyrics'
sign = get_sign_request(track_id)
@ -616,7 +628,8 @@ class Client(YandexMusicObject):
Args:
track_id (:obj:`str` | :obj:`int`): Уникальный идентификатор трека.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`yandex_music.SimilarTracks`: Похожие треки на другой трек.
@ -624,7 +637,6 @@ class Client(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
url = f'{self.base_url}/tracks/{track_id}/similar'
result = self._request.get(url, *args, **kwargs)
@ -664,7 +676,8 @@ class Client(YandexMusicObject):
total_played_seconds (:obj:`int`, optional): Сколько было всего воспроизведено трека в секундах.
end_position_seconds (:obj:`int`, optional): Окончательное значение воспроизведенных секунд.
client_now (:obj:`str`, optional): Текущая дата и время клиента в ISO.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`bool`: :obj:`True` при успешном выполнении запроса, иначе :obj:`False`.
@ -672,7 +685,6 @@ class Client(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
if uid is None and self.me is not None:
uid = self.me.account.uid
@ -703,7 +715,8 @@ class Client(YandexMusicObject):
Args:
album_id (:obj:`str` | :obj:`int`): Уникальный идентификатор альбома.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`list` из :obj:`yandex_music.Album` | :obj:`None`: Альбом или :obj:`None`.
@ -711,7 +724,6 @@ class Client(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
url = f'{self.base_url}/albums/{album_id}/with-tracks'
result = self._request.get(url, *args, **kwargs)
@ -744,7 +756,8 @@ class Client(YandexMusicObject):
type_ (:obj:`str`): Среди какого типа искать (трек, плейлист, альбом, исполнитель, пользователь, подкаст).
page (:obj:`int`): Номер страницы.
playlist_in_best (:obj:`bool`): Выдавать ли плейлисты лучшим вариантом поиска.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`yandex_music.Search` | :obj:`None`: Результаты поиска или :obj:`None`.
@ -752,7 +765,6 @@ class Client(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
url = f'{self.base_url}/search'
params = {
@ -776,7 +788,8 @@ class Client(YandexMusicObject):
Args:
part (:obj:`str`): Часть поискового запроса.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`yandex_music.Suggestions` | :obj:`None`: Подсказки для запроса или :obj:`None`.
@ -784,7 +797,6 @@ class Client(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
url = f'{self.base_url}/search/suggest'
result = self._request.get(url, {'part': part}, *args, **kwargs)
@ -801,7 +813,8 @@ class Client(YandexMusicObject):
Args:
user_id (:obj:`str` | :obj:`int`, optional): Уникальный идентификатор пользователя чьи настройки хотим
получить.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`yandex_music.UserSettings` | :obj:`None`: Настройки пользователя или :obj:`None`.
@ -809,7 +822,6 @@ class Client(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
if user_id is None and self.me is not None:
user_id = self.me.account.uid
@ -836,7 +848,8 @@ class Client(YandexMusicObject):
kind (:obj:`str` | :obj:`int` | :obj:`list` из :obj:`str` | :obj:`int`): Уникальный идентификатор плейлиста
или их список.
user_id (:obj:`str` | :obj:`int`, optional): Уникальный идентификатор пользователя владеющим плейлистом.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`list` из :obj:`yandex_music.Playlist` | :obj:`yandex_music.Playlist` | :obj:`None`:
@ -845,7 +858,6 @@ class Client(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
if user_id is None and self.me is not None:
user_id = self.me.account.uid
@ -870,7 +882,8 @@ class Client(YandexMusicObject):
Args:
kind (:obj:`str` | :obj:`int`): Уникальный идентификатор плейлиста.
user_id (:obj:`str` | :obj:`int`): Уникальный идентификатор пользователя владеющим плейлистом.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`yandex_music.PlaylistRecommendations` | :obj:`None`: Рекомендации для плейлиста или :obj:`None`.
@ -902,7 +915,8 @@ class Client(YandexMusicObject):
title (:obj:`str`): Название.
visibility (:obj:`str`, optional): Модификатор доступа.
user_id (:obj:`str` | :obj:`int`, optional): Уникальный идентификатор пользователя владеющим плейлистом.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`yandex_music.Playlist` | :obj:`None`: Созданный плейлист или :obj:`None`.
@ -910,7 +924,6 @@ class Client(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
if user_id is None and self.me is not None:
user_id = self.me.account.uid
@ -929,7 +942,8 @@ class Client(YandexMusicObject):
Args:
kind (:obj:`str` | :obj:`int`): Уникальный идентификатор плейлиста.
user_id (:obj:`str` | :obj:`int`, optional): Уникальный идентификатор пользователя владеющим плейлистом.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`bool`: :obj:`True` при успешном выполнении запроса, иначе :obj:`False`.
@ -937,7 +951,6 @@ class Client(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
if user_id is None and self.me is not None:
user_id = self.me.account.uid
@ -962,7 +975,8 @@ class Client(YandexMusicObject):
kind (:obj:`str` | :obj:`int`): Уникальный идентификатор плейлиста.
name (:obj:`str`): Новое название.
user_id (:obj:`str` | :obj:`int`, optional): Уникальный идентификатор пользователя владеющим плейлистом.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`yandex_music.Playlist` | :obj:`None`: Изменённый плейлист или :obj:`None`.
@ -970,7 +984,6 @@ class Client(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
if user_id is None and self.me is not None:
user_id = self.me.account.uid
@ -998,7 +1011,8 @@ class Client(YandexMusicObject):
kind (:obj:`str` | :obj:`int`): Уникальный идентификатор плейлиста.
visibility (:obj:`str`): Новое название.
user_id (:obj:`str` | :obj:`int`, optional): Уникальный идентификатор пользователя владеющим плейлистом.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`yandex_music.Playlist` | :obj:`None`: Изменённый плейлист или :obj:`None`.
@ -1006,7 +1020,6 @@ class Client(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
if user_id is None and self.me is not None:
user_id = self.me.account.uid
@ -1038,7 +1051,8 @@ class Client(YandexMusicObject):
revision (:obj:`int`): TODO.
diff (:obj:`str`): JSON представления отличий старого и нового плейлиста.
user_id (:obj:`str` | :obj:`int`, optional): Уникальный идентификатор пользователя владеющим плейлистом.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`yandex_music.Playlist`: Изменённый плейлист или :obj:`None`.
@ -1046,7 +1060,6 @@ class Client(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
if user_id is None and self.me is not None:
user_id = self.me.account.uid
@ -1082,7 +1095,8 @@ class Client(YandexMusicObject):
at (:obj:`int`): Индекс для вставки.
revision (:obj:`int`): TODO.
user_id (:obj:`str` | :obj:`int`, optional): Уникальный идентификатор пользователя владеющим плейлистом.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`yandex_music.Playlist`: Изменённый плейлист или :obj:`None`.
@ -1090,7 +1104,6 @@ class Client(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
if user_id is None and self.me is not None:
user_id = self.me.account.uid
@ -1120,7 +1133,8 @@ class Client(YandexMusicObject):
to (:obj:`int`): По какой индекс.
revision (:obj:`int`): TODO.
user_id (:obj:`str` | :obj:`int`, optional): Уникальный идентификатор пользователя владеющим плейлистом.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`yandex_music.Playlist` | :obj:`None`: Изменённый плейлист или :obj:`None`.
@ -1128,7 +1142,6 @@ class Client(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
if user_id is None and self.me is not None:
user_id = self.me.account.uid
@ -1144,7 +1157,8 @@ class Client(YandexMusicObject):
Данный статус отличается от обычного наличием дополнительных полей, например, `skips_per_hour`.
Args:
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`yandex_music.Status` | :obj:`None`: Статус пользователя с дополнительными полями от радио или
@ -1153,7 +1167,6 @@ class Client(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
url = f'{self.base_url}/rotor/account/status'
result = self._request.get(url, *args, **kwargs)
@ -1165,7 +1178,8 @@ class Client(YandexMusicObject):
"""Получение рекомендованных станций текущего пользователя.
Args:
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`yandex_music.Dashboard` | :obj:`None`: Рекомендованные станции или :obj:`None`.
@ -1173,7 +1187,6 @@ class Client(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
url = f'{self.base_url}/rotor/stations/dashboard'
result = self._request.get(url, *args, **kwargs)
@ -1192,7 +1205,8 @@ class Client(YandexMusicObject):
Args:
language (:obj:`str`, optional): Язык, на котором будет информация о станциях. По умолчанию язык клиента.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`list` из :obj:`yandex_music.StationResult`: Список станций.
@ -1200,7 +1214,6 @@ class Client(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
url = f'{self.base_url}/rotor/stations/list'
if not language:
@ -1242,7 +1255,8 @@ class Client(YandexMusicObject):
total_played_seconds (:obj:`int` |:obj:`float`, optional): Сколько было проиграно секунд трека
перед действием.
track_id (:obj:`int` | :obj:`str`, optional): Уникальной идентификатор трека.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`bool`: :obj:`True` при успешном выполнении запроса, иначе :obj:`False`.
@ -1250,7 +1264,6 @@ class Client(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
if timestamp is None:
timestamp = datetime.now().timestamp()
@ -1388,7 +1401,8 @@ class Client(YandexMusicObject):
Args:
station (:obj:`str`): Станция.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`list` из :obj:`yandex_music.StationResult` | :obj:`None`: Информация о станции или :obj:`None`.
@ -1396,7 +1410,6 @@ class Client(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
url = f'{self.base_url}/rotor/station/{station}/info'
result = self._request.get(url, *args, **kwargs)
@ -1432,7 +1445,8 @@ class Client(YandexMusicObject):
diversity (:obj:`str`): Треки.
language (:obj:`str`): Язык.
type_ (:obj:`str`): Тип.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`bool`: :obj:`True` при успешном выполнении запроса, иначе :obj:`False`.
@ -1440,7 +1454,6 @@ class Client(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
url = f'{self.base_url}/rotor/station/{station}/settings3'
data = {'moodEnergy': mood_energy, 'diversity': diversity, 'type': type_}
@ -1481,8 +1494,9 @@ class Client(YandexMusicObject):
Args:
station (:obj:`str`): Станция.
settings2 (:obj:`bool`, optional): Использовать ли второй набор настроек.
queue (:obj:`str` | :obj:`int` , optional): Уникальной идентификатор трека, который только что был.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
queue (:obj:`str` | :obj:`int`, optional): Уникальной идентификатор трека, который только что был.
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`yandex_music.StationTracksResult` | :obj:`None`: Последовательность треков станции или :obj:`None`.
@ -1490,7 +1504,6 @@ class Client(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
url = f'{self.base_url}/rotor/station/{station}/tracks'
params = {}
@ -1510,7 +1523,8 @@ class Client(YandexMusicObject):
Args:
artist_id (:obj:`str` | :obj:`int`): Уникальный идентификатор исполнителя.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`yandex_music.BriefInfo` | :obj:`None`: Информация об артисте или :obj:`None`.
@ -1539,7 +1553,8 @@ class Client(YandexMusicObject):
artist_id (:obj:`str` | :obj:`int`): Уникальный идентификатор артиста.
page (:obj:`int`, optional): Номер страницы.
page_size (:obj:`int`, optional): Количество треков на странице.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`yandex_music.ArtistsTracks` | :obj:`None`: Страница списка треков артиста или :obj:`None`.
@ -1547,7 +1562,6 @@ class Client(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
url = f'{self.base_url}/artists/{artist_id}/tracks'
params = {'page': page, 'page-size': page_size}
@ -1576,7 +1590,8 @@ class Client(YandexMusicObject):
page (:obj:`int`, optional): Номер страницы.
page_size (:obj:`int`, optional): Количество альбомов на странице.
sort_by (:obj:`str`, optional): Параметр для сортировки.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`yandex_music.ArtistAlbums` | :obj:`None`: Страница списка альбомов артиста или :obj:`None`.
@ -1584,7 +1599,6 @@ class Client(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
url = f'{self.base_url}/artists/{artist_id}/direct-albums'
params = {'sort-by': sort_by, 'page': page, 'page-size': page_size}
@ -1617,7 +1631,8 @@ class Client(YandexMusicObject):
remove (:obj:`bool`, optional): Если :obj:`True` то снимает отметку, иначе ставит.
user_id (:obj:`str` | :obj:`int`, optional): Уникальный идентификатор пользователя. Если не указан
используется ID текущего пользователя.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`bool`: :obj:`True` при успешном выполнении запроса, иначе :obj:`False`.
@ -1655,7 +1670,8 @@ class Client(YandexMusicObject):
идентификатор трека или треков.
user_id (:obj:`str` | :obj:`int`, optional): Уникальный идентификатор пользователя. Если не указан
используется ID текущего пользователя.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`bool`: :obj:`True` при успешном выполнении запроса, иначе :obj:`False`.
@ -1679,7 +1695,8 @@ class Client(YandexMusicObject):
идентификатор трека или треков.
user_id (:obj:`str` | :obj:`int`, optional): Уникальный идентификатор пользователя. Если не указан
используется ID текущего пользователя.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`bool`: :obj:`True` при успешном выполнении запроса, иначе :obj:`False`.
@ -1703,7 +1720,8 @@ class Client(YandexMusicObject):
идентификатор артиста или артистов.
user_id (:obj:`str` | :obj:`int`, optional): Уникальный идентификатор пользователя. Если не указан
используется ID текущего пользователя.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`bool`: :obj:`True` при успешном выполнении запроса, иначе :obj:`False`.
@ -1727,7 +1745,8 @@ class Client(YandexMusicObject):
идентификатор артиста или артистов.
user_id (:obj:`str` | :obj:`int`, optional): Уникальный идентификатор пользователя. Если не указан
используется ID текущего пользователя.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`bool`: :obj:`True` при успешном выполнении запроса, иначе :obj:`False`.
@ -1755,7 +1774,8 @@ class Client(YandexMusicObject):
идентификатор плейлиста или плейлистов.
user_id (:obj:`str` | :obj:`int`, optional): Уникальный идентификатор пользователя. Если не указан
используется ID текущего пользователя.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`bool`: :obj:`True` при успешном выполнении запроса, иначе :obj:`False`.
@ -1783,7 +1803,8 @@ class Client(YandexMusicObject):
идентификатор плейлиста или плейлистов.
user_id (:obj:`str` | :obj:`int`, optional): Уникальный идентификатор пользователя. Если не указан
используется ID текущего пользователя.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`bool`: :obj:`True` при успешном выполнении запроса, иначе :obj:`False`.
@ -1807,7 +1828,8 @@ class Client(YandexMusicObject):
идентификатор артиста или артистов.
user_id (:obj:`str` | :obj:`int`, optional): Уникальный идентификатор пользователя. Если не указан
используется ID текущего пользователя.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`bool`: :obj:`True` при успешном выполнении запроса, иначе :obj:`False`.
@ -1831,7 +1853,8 @@ class Client(YandexMusicObject):
идентификатор артиста или артистов.
user_id (:obj:`str` | :obj:`int`, optional): Уникальный идентификатор пользователя. Если не указан
используется ID текущего пользователя.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`bool`: :obj:`True` при успешном выполнении запроса, иначе :obj:`False`.
@ -1856,7 +1879,8 @@ class Client(YandexMusicObject):
ids (:obj:`str` | :obj:`int` | :obj:`list` из :obj:`str` | :obj:`list` из :obj:`int`): Уникальный
идентификатор объекта или объектов.
params (:obj:`dict`, optional): Параметры, которые будут переданы в запрос.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`list` из :obj:`yandex_music.Artist` | :obj:`list` из :obj:`yandex_music.Album` |
@ -1883,7 +1907,8 @@ class Client(YandexMusicObject):
Args:
artist_ids (:obj:`str` | :obj:`int` | :obj:`list` из :obj:`str` | :obj:`list` из :obj:`int`): Уникальный
идентификатор исполнителя или исполнителей.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`list` из :obj:`yandex_music.Artist`: Исполнитель или исполнители.
@ -1900,7 +1925,8 @@ class Client(YandexMusicObject):
Args:
album_ids (:obj:`str` | :obj:`int` | :obj:`list` из :obj:`str` | :obj:`list` из :obj:`int`): Уникальный
идентификатор альбома или альбомов.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`list` из :obj:`yandex_music.Album`: Альбом или альбомы.
@ -1924,7 +1950,8 @@ class Client(YandexMusicObject):
track_ids (:obj:`str` | :obj:`int` | :obj:`list` из :obj:`str` | :obj:`list` из :obj:`int`): Уникальный
идентификатор трека или треков.
with_positions (:obj:`bool`, optional): С позициями TODO.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`list` из :obj:`yandex_music.Track`: Трек или Треки.
@ -1952,7 +1979,8 @@ class Client(YandexMusicObject):
Args:
playlist_ids (:obj:`str` | :obj:`int` | :obj:`list` из :obj:`str` | :obj:`list` из :obj:`int`): Уникальный
идентификатор плейлиста или плейлистов.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`list` из :obj:`yandex_music.Playlist`: Плейлист или плейлисты.
@ -1998,7 +2026,8 @@ class Client(YandexMusicObject):
Args:
user_id (:obj:`str` | :obj:`int`, optional): Уникальный идентификатор пользователя. Если не указан
используется ID текущего пользователя.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`list` из :obj:`yandex_music.Playlist`: Плейлисты пользователя.
@ -2030,7 +2059,8 @@ class Client(YandexMusicObject):
user_id (:obj:`str` | :obj:`int`, optional): Уникальный идентификатор пользователя. Если не указан
используется ID текущего пользователя.
params (:obj:`dict`, optional): Параметры, которые будут переданы в запрос.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`list` из :obj:`yandex_music.Like` | :obj:`yandex_music.TracksList`: Объекты с отметкой "Мне нравится".
@ -2064,7 +2094,8 @@ class Client(YandexMusicObject):
user_id (:obj:`str` | :obj:`int`, optional): Уникальный идентификатор пользователя. Если не указан
используется ID текущего пользователя.
if_modified_since_revision (:obj:`int`, optional): TODO.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`yandex_music.TracksList`: Треки с отметкой "Мне нравится".
@ -2084,7 +2115,8 @@ class Client(YandexMusicObject):
user_id (:obj:`str` | :obj:`int`, optional): Уникальный идентификатор пользователя. Если не указан
используется ID текущего пользователя.
rich (:obj:`bool`, optional): Если False, то приходит укороченная версия.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`list` из :obj:`yandex_music.Like`: Альбомы с отметкой "Мне нравится".
@ -2108,7 +2140,8 @@ class Client(YandexMusicObject):
user_id (:obj:`str` | :obj:`int`, optional): Уникальный идентификатор пользователя. Если не указан
используется ID текущего пользователя.
with_timestamps (:obj:`bool`, optional): С временными метками TODO.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`list` из :obj:`yandex_music.Like`: Артисты с отметкой "Мне нравится".
@ -2125,7 +2158,8 @@ class Client(YandexMusicObject):
Args:
user_id (:obj:`str` | :obj:`int`, optional): Уникальный идентификатор пользователя. Если не указан
используется ID текущего пользователя.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`list` из :obj:`yandex_music.Like`: Плейлисты с отметкой "Мне нравится".
@ -2149,7 +2183,8 @@ class Client(YandexMusicObject):
user_id (:obj:`str` | :obj:`int`, optional): Уникальный идентификатор пользователя. Если не указан
используется ID текущего пользователя.
if_modified_since_revision (:obj:`bool`, optional): TODO.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`list` из :obj:`yandex_music.TracksList`: Треки с отметкой "Не рекомендовать".
@ -2182,7 +2217,8 @@ class Client(YandexMusicObject):
remove (:obj:`bool`, optional): Если :obj:`True`, то снимает отметку, иначе ставит.
user_id (:obj:`str` | :obj:`int`, optional): Уникальный идентификатор пользователя. Если не указан
используется ID текущего пользователя.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`bool`: :obj:`True` при успешном выполнении запроса, иначе :obj:`False`.
@ -2217,7 +2253,8 @@ class Client(YandexMusicObject):
идентификатор трека или треков.
user_id (:obj:`str` | :obj:`int`, optional): Уникальный идентификатор пользователя. Если не указан
используется ID текущего пользователя.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`bool`: :obj:`True` при успешном выполнении запроса, иначе :obj:`False`.
@ -2241,7 +2278,8 @@ class Client(YandexMusicObject):
идентификатор трека или треков.
user_id (:obj:`str` | :obj:`int`, optional): Уникальный идентификатор пользователя. Если не указан
используется ID текущего пользователя.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`bool`: :obj:`True` при успешном выполнении запроса, иначе :obj:`False`.
@ -2284,7 +2322,8 @@ class Client(YandexMusicObject):
context (:obj:`str`, optional): Место, откуда было вызвано получение.
types (:obj:`str`, optional): Тип того, что вернуть после трека.
from_ (:obj:`str`, optional): Место, с которого попали в контекст.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`yandex_music.ShotEvent`: Шот от Алисы или :obj:`None`.
@ -2292,7 +2331,6 @@ class Client(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
url = f'{self.base_url}/after-track'
params = {
@ -2322,7 +2360,8 @@ class Client(YandexMusicObject):
Args:
device (:obj:`str`, optional): Содержит информацию об устройстве с которого выполняется запрос.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`list` из :obj:`yandex_music.QueueItem`: Элементы очереди всех устройств.
@ -2346,7 +2385,8 @@ class Client(YandexMusicObject):
Args:
queue_id (:obj:`str`): Уникальный идентификатор очереди.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`yandex_music.Queue`: Очередь или :obj:`None`.
@ -2371,7 +2411,8 @@ class Client(YandexMusicObject):
queue_id (:obj:`str`): Уникальный идентификатор очереди.
current_index (:obj:`int`): Текущий индекс.
device (:obj:`str`, optional): Содержит информацию об устройстве с которого выполняется запрос.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`bool`: :obj:`True` при успешном выполнении запроса, иначе :obj:`False`.
@ -2396,7 +2437,8 @@ class Client(YandexMusicObject):
Args:
queue (:obj:`yandex_music.Queue` | :obj:`str`): Объект очереди или JSON строка с этим объектом.
device (:obj:`str`, optional): Содержит информацию об устройстве с которого выполняется запрос.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`str`: Вернёт уникальный идентификатор созданной очереди, иначе :obj:`None`.

ファイルの表示

@ -165,7 +165,8 @@ class ClientAsync(YandexMusicObject):
"""Получение статуса аккаунта. Нет обязательных параметров.
Args:
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`yandex_music.Status` | :obj:`None`: Информация об аккаунте если он валиден, иначе :obj:`None`.
@ -173,7 +174,6 @@ class ClientAsync(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
url = f'{self.base_url}/account/status'
result = await self._request.get(url, *args, **kwargs)
@ -185,7 +185,8 @@ class ClientAsync(YandexMusicObject):
"""Получение настроек текущего пользователя.
Args:
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`yandex_music.UserSettings` | :obj:`None`: Настройки пользователя если аккаунт валиден,
@ -194,7 +195,6 @@ class ClientAsync(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
url = f'{self.base_url}/account/settings'
result = await self._request.get(url, *args, **kwargs)
@ -219,7 +219,8 @@ class ClientAsync(YandexMusicObject):
param (:obj:`str`): Название параметра для изменения.
value (:obj:`str` | :obj:`int` | :obj:`bool`): Значение параметра.
data (:obj:`dict`): Словарь параметров и значений для множественного изменения.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`yandex_music.UserSettings` | :obj:`None`: Настройки пользователя или :obj:`None`.
@ -227,7 +228,6 @@ class ClientAsync(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
url = f'{self.base_url}/account/settings'
if not data:
@ -242,7 +242,8 @@ class ClientAsync(YandexMusicObject):
"""Получение предложений по покупке. Нет обязательных параметров.
Args:
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`yandex_music.Settings` | :obj:`None`: Информацию о предлагаемых продуктах если аккаунт валиден
@ -251,7 +252,6 @@ class ClientAsync(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
url = f'{self.base_url}/settings'
result = await self._request.get(url, *args, **kwargs)
@ -263,7 +263,8 @@ class ClientAsync(YandexMusicObject):
"""Получение оповещений. Нет обязательных параметров.
Args:
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`yandex_music.PermissionAlerts` | :obj:`None`: Оповещения если аккаунт валиден или :obj:`None`.
@ -271,7 +272,6 @@ class ClientAsync(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
url = f'{self.base_url}/permission-alerts'
result = await self._request.get(url, *args, **kwargs)
@ -283,7 +283,8 @@ class ClientAsync(YandexMusicObject):
"""Получение значений экспериментальных функций аккаунта.
Args:
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`yandex_music.Experiments` | :obj:`None`: Состояние экспериментальных функций или :obj:`None`.
@ -291,7 +292,6 @@ class ClientAsync(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
url = f'{self.base_url}/account/experiments'
result = await self._request.get(url, *args, **kwargs)
@ -310,7 +310,8 @@ class ClientAsync(YandexMusicObject):
Args:
code (:obj:`str`): Промо-код.
language (:obj:`str`, optional): Язык ответа API в ISO 639-1. По умолчанию язык клиента.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`yandex_music.PromoCodeStatus` | :obj:`None`: Информация об активации промо-кода или :obj:`None`.
@ -318,7 +319,6 @@ class ClientAsync(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
url = f'{self.base_url}/account/consume-promo-code'
if not language:
@ -333,7 +333,8 @@ class ClientAsync(YandexMusicObject):
"""Получение потока информации (фида) подобранного под пользователя. Содержит умные плейлисты.
Args:
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`yandex_music.Feed` | :obj:`None`: Умные плейлисты пользователя или :obj:`None`.
@ -341,7 +342,6 @@ class ClientAsync(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
url = f'{self.base_url}/feed'
result = await self._request.get(url, *args, **kwargs)
@ -350,6 +350,18 @@ class ClientAsync(YandexMusicObject):
@log
async def feed_wizard_is_passed(self, *args, **kwargs) -> bool:
"""Получение информации о прохождении визарда.
Note:
Временное событие на хэллоуин.
Args:
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`bool`: Прошел ли пользователь визард или нет.
"""
url = f'{self.base_url}/feed/wizard/is-passed'
result = await self._request.get(url, *args, **kwargs)
@ -366,7 +378,8 @@ class ClientAsync(YandexMusicObject):
Args:
blocks (:obj:`str` | :obj:`list` из :obj:`str`): Блок или список блоков необходимых для выдачи.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`yandex_music.Landing` | :obj:`None`: Лендинг-страница или :obj:`None`.
@ -374,7 +387,6 @@ class ClientAsync(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
url = f'{self.base_url}/landing3'
result = await self._request.get(
@ -395,7 +407,8 @@ class ClientAsync(YandexMusicObject):
Args:
chart_option (:obj:`str` optional): Параметры чарта.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`yandex_music.ChartInfo`: Чарт.
@ -403,7 +416,6 @@ class ClientAsync(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
url = f'{self.base_url}/landing3/chart'
if chart_option:
@ -418,7 +430,8 @@ class ClientAsync(YandexMusicObject):
"""Получение полного списка всех новых релизов (альбомов).
Args:
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`yandex_music.LandingList`: Список новых альбомов.
@ -426,7 +439,6 @@ class ClientAsync(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
url = f'{self.base_url}/landing3/new-releases'
result = await self._request.get(url, *args, **kwargs)
@ -438,7 +450,8 @@ class ClientAsync(YandexMusicObject):
"""Получение полного списка всех новых плейлистов.
Args:
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`yandex_music.LandingList`: Список новых плейлистов.
@ -446,7 +459,6 @@ class ClientAsync(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
url = f'{self.base_url}/landing3/new-playlists'
result = await self._request.get(url, *args, **kwargs)
@ -458,7 +470,8 @@ class ClientAsync(YandexMusicObject):
"""Получение подкастов с лендинга.
Args:
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`yandex_music.LandingList`: Список подкастов.
@ -466,7 +479,6 @@ class ClientAsync(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
url = f'{self.base_url}/landing3/podcasts'
result = await self._request.get(url, *args, **kwargs)
@ -478,7 +490,8 @@ class ClientAsync(YandexMusicObject):
"""Получение жанров музыки.
Args:
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`list` из :obj:`yandex_music.Genre` | :obj:`None`: Жанры музыки или :obj:`None`.
@ -486,7 +499,6 @@ class ClientAsync(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
url = f'{self.base_url}/genres'
result = await self._request.get(url, *args, **kwargs)
@ -505,7 +517,8 @@ class ClientAsync(YandexMusicObject):
Args:
tag_id (:obj:`str`): Уникальный идентификатор тега.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`yandex_music.TagResult`: Тег с плейлистами.
@ -513,7 +526,6 @@ class ClientAsync(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
url = f'{self.base_url}/tags/{tag_id}/playlist-ids'
result = await self._request.get(url, *args, **kwargs)
@ -533,7 +545,8 @@ class ClientAsync(YandexMusicObject):
Args:
track_id (:obj:`str` | :obj:`list` из :obj:`str`): Уникальный идентификатор трека или треков.
get_direct_links (:obj:`bool`, optional): Получить ли при вызове метода прямую ссылку на загрузку.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`list` из :obj:`yandex_music.DownloadInfo` | :obj:`None`: Варианты загрузки трека или :obj:`None`.
@ -541,7 +554,6 @@ class ClientAsync(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
url = f'{self.base_url}/tracks/{track_id}/download-info'
result = await self._request.get(url, *args, **kwargs)
@ -558,7 +570,8 @@ class ClientAsync(YandexMusicObject):
Args:
track_id (:obj:`str` | :obj:`int`): Уникальный идентификатор трека.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`yandex_music.Supplement`: Дополнительная информация о треке.
@ -566,7 +579,6 @@ class ClientAsync(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
url = f'{self.base_url}/tracks/{track_id}/supplement'
result = await self._request.get(url, *args, **kwargs)
@ -592,7 +604,8 @@ class ClientAsync(YandexMusicObject):
Args:
track_id (:obj:`str` | :obj:`int`): Уникальный идентификатор трека.
format (:obj:`str`): Формат текста.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`yandex_music.TrackLyrics` | :obj:`None`: Информация о тексте трека.
@ -602,7 +615,6 @@ class ClientAsync(YandexMusicObject):
:class:`yandex_music.exceptions.NotFoundError`: Текст у трека отсутствует.
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
url = f'{self.base_url}/tracks/{track_id}/lyrics'
sign = get_sign_request(track_id)
@ -622,7 +634,8 @@ class ClientAsync(YandexMusicObject):
Args:
track_id (:obj:`str` | :obj:`int`): Уникальный идентификатор трека.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`yandex_music.SimilarTracks`: Похожие треки на другой трек.
@ -630,7 +643,6 @@ class ClientAsync(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
url = f'{self.base_url}/tracks/{track_id}/similar'
result = await self._request.get(url, *args, **kwargs)
@ -670,7 +682,8 @@ class ClientAsync(YandexMusicObject):
total_played_seconds (:obj:`int`, optional): Сколько было всего воспроизведено трека в секундах.
end_position_seconds (:obj:`int`, optional): Окончательное значение воспроизведенных секунд.
client_now (:obj:`str`, optional): Текущая дата и время клиента в ISO.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`bool`: :obj:`True` при успешном выполнении запроса, иначе :obj:`False`.
@ -678,7 +691,6 @@ class ClientAsync(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
if uid is None and self.me is not None:
uid = self.me.account.uid
@ -709,7 +721,8 @@ class ClientAsync(YandexMusicObject):
Args:
album_id (:obj:`str` | :obj:`int`): Уникальный идентификатор альбома.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`list` из :obj:`yandex_music.Album` | :obj:`None`: Альбом или :obj:`None`.
@ -717,7 +730,6 @@ class ClientAsync(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
url = f'{self.base_url}/albums/{album_id}/with-tracks'
result = await self._request.get(url, *args, **kwargs)
@ -750,7 +762,8 @@ class ClientAsync(YandexMusicObject):
type_ (:obj:`str`): Среди какого типа искать (трек, плейлист, альбом, исполнитель, пользователь, подкаст).
page (:obj:`int`): Номер страницы.
playlist_in_best (:obj:`bool`): Выдавать ли плейлисты лучшим вариантом поиска.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`yandex_music.Search` | :obj:`None`: Результаты поиска или :obj:`None`.
@ -758,7 +771,6 @@ class ClientAsync(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
url = f'{self.base_url}/search'
params = {
@ -782,7 +794,8 @@ class ClientAsync(YandexMusicObject):
Args:
part (:obj:`str`): Часть поискового запроса.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`yandex_music.Suggestions` | :obj:`None`: Подсказки для запроса или :obj:`None`.
@ -790,7 +803,6 @@ class ClientAsync(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
url = f'{self.base_url}/search/suggest'
result = await self._request.get(url, {'part': part}, *args, **kwargs)
@ -807,7 +819,8 @@ class ClientAsync(YandexMusicObject):
Args:
user_id (:obj:`str` | :obj:`int`, optional): Уникальный идентификатор пользователя чьи настройки хотим
получить.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`yandex_music.UserSettings` | :obj:`None`: Настройки пользователя или :obj:`None`.
@ -815,7 +828,6 @@ class ClientAsync(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
if user_id is None and self.me is not None:
user_id = self.me.account.uid
@ -842,7 +854,8 @@ class ClientAsync(YandexMusicObject):
kind (:obj:`str` | :obj:`int` | :obj:`list` из :obj:`str` | :obj:`int`): Уникальный идентификатор плейлиста
или их список.
user_id (:obj:`str` | :obj:`int`, optional): Уникальный идентификатор пользователя владеющим плейлистом.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`list` из :obj:`yandex_music.Playlist` | :obj:`yandex_music.Playlist` | :obj:`None`:
@ -851,7 +864,6 @@ class ClientAsync(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
if user_id is None and self.me is not None:
user_id = self.me.account.uid
@ -876,7 +888,8 @@ class ClientAsync(YandexMusicObject):
Args:
kind (:obj:`str` | :obj:`int`): Уникальный идентификатор плейлиста.
user_id (:obj:`str` | :obj:`int`): Уникальный идентификатор пользователя владеющим плейлистом.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`yandex_music.PlaylistRecommendations` | :obj:`None`: Рекомендации для плейлиста или :obj:`None`.
@ -908,7 +921,8 @@ class ClientAsync(YandexMusicObject):
title (:obj:`str`): Название.
visibility (:obj:`str`, optional): Модификатор доступа.
user_id (:obj:`str` | :obj:`int`, optional): Уникальный идентификатор пользователя владеющим плейлистом.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`yandex_music.Playlist` | :obj:`None`: Созданный плейлист или :obj:`None`.
@ -916,7 +930,6 @@ class ClientAsync(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
if user_id is None and self.me is not None:
user_id = self.me.account.uid
@ -937,7 +950,8 @@ class ClientAsync(YandexMusicObject):
Args:
kind (:obj:`str` | :obj:`int`): Уникальный идентификатор плейлиста.
user_id (:obj:`str` | :obj:`int`, optional): Уникальный идентификатор пользователя владеющим плейлистом.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`bool`: :obj:`True` при успешном выполнении запроса, иначе :obj:`False`.
@ -945,7 +959,6 @@ class ClientAsync(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
if user_id is None and self.me is not None:
user_id = self.me.account.uid
@ -970,7 +983,8 @@ class ClientAsync(YandexMusicObject):
kind (:obj:`str` | :obj:`int`): Уникальный идентификатор плейлиста.
name (:obj:`str`): Новое название.
user_id (:obj:`str` | :obj:`int`, optional): Уникальный идентификатор пользователя владеющим плейлистом.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`yandex_music.Playlist` | :obj:`None`: Изменённый плейлист или :obj:`None`.
@ -978,7 +992,6 @@ class ClientAsync(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
if user_id is None and self.me is not None:
user_id = self.me.account.uid
@ -1006,7 +1019,8 @@ class ClientAsync(YandexMusicObject):
kind (:obj:`str` | :obj:`int`): Уникальный идентификатор плейлиста.
visibility (:obj:`str`): Новое название.
user_id (:obj:`str` | :obj:`int`, optional): Уникальный идентификатор пользователя владеющим плейлистом.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`yandex_music.Playlist` | :obj:`None`: Изменённый плейлист или :obj:`None`.
@ -1014,7 +1028,6 @@ class ClientAsync(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
if user_id is None and self.me is not None:
user_id = self.me.account.uid
@ -1046,7 +1059,8 @@ class ClientAsync(YandexMusicObject):
revision (:obj:`int`): TODO.
diff (:obj:`str`): JSON представления отличий старого и нового плейлиста.
user_id (:obj:`str` | :obj:`int`, optional): Уникальный идентификатор пользователя владеющим плейлистом.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`yandex_music.Playlist`: Изменённый плейлист или :obj:`None`.
@ -1054,7 +1068,6 @@ class ClientAsync(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
if user_id is None and self.me is not None:
user_id = self.me.account.uid
@ -1090,7 +1103,8 @@ class ClientAsync(YandexMusicObject):
at (:obj:`int`): Индекс для вставки.
revision (:obj:`int`): TODO.
user_id (:obj:`str` | :obj:`int`, optional): Уникальный идентификатор пользователя владеющим плейлистом.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`yandex_music.Playlist`: Изменённый плейлист или :obj:`None`.
@ -1098,7 +1112,6 @@ class ClientAsync(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
if user_id is None and self.me is not None:
user_id = self.me.account.uid
@ -1128,7 +1141,8 @@ class ClientAsync(YandexMusicObject):
to (:obj:`int`): По какой индекс.
revision (:obj:`int`): TODO.
user_id (:obj:`str` | :obj:`int`, optional): Уникальный идентификатор пользователя владеющим плейлистом.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`yandex_music.Playlist` | :obj:`None`: Изменённый плейлист или :obj:`None`.
@ -1136,7 +1150,6 @@ class ClientAsync(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
if user_id is None and self.me is not None:
user_id = self.me.account.uid
@ -1152,7 +1165,8 @@ class ClientAsync(YandexMusicObject):
Данный статус отличается от обычного наличием дополнительных полей, например, `skips_per_hour`.
Args:
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`yandex_music.Status` | :obj:`None`: Статус пользователя с дополнительными полями от радио или
@ -1161,7 +1175,6 @@ class ClientAsync(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
url = f'{self.base_url}/rotor/account/status'
result = await self._request.get(url, *args, **kwargs)
@ -1173,7 +1186,8 @@ class ClientAsync(YandexMusicObject):
"""Получение рекомендованных станций текущего пользователя.
Args:
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`yandex_music.Dashboard` | :obj:`None`: Рекомендованные станции или :obj:`None`.
@ -1181,7 +1195,6 @@ class ClientAsync(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
url = f'{self.base_url}/rotor/stations/dashboard'
result = await self._request.get(url, *args, **kwargs)
@ -1200,7 +1213,8 @@ class ClientAsync(YandexMusicObject):
Args:
language (:obj:`str`, optional): Язык, на котором будет информация о станциях. По умолчанию язык клиента.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`list` из :obj:`yandex_music.StationResult`: Список станций.
@ -1208,7 +1222,6 @@ class ClientAsync(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
url = f'{self.base_url}/rotor/stations/list'
if not language:
@ -1250,7 +1263,8 @@ class ClientAsync(YandexMusicObject):
total_played_seconds (:obj:`int` |:obj:`float`, optional): Сколько было проиграно секунд трека
перед действием.
track_id (:obj:`int` | :obj:`str`, optional): Уникальной идентификатор трека.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`bool`: :obj:`True` при успешном выполнении запроса, иначе :obj:`False`.
@ -1258,7 +1272,6 @@ class ClientAsync(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
if timestamp is None:
timestamp = datetime.now().timestamp()
@ -1398,7 +1411,8 @@ class ClientAsync(YandexMusicObject):
Args:
station (:obj:`str`): Станция.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`list` из :obj:`yandex_music.StationResult` | :obj:`None`: Информация о станции или :obj:`None`.
@ -1406,7 +1420,6 @@ class ClientAsync(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
url = f'{self.base_url}/rotor/station/{station}/info'
result = await self._request.get(url, *args, **kwargs)
@ -1442,7 +1455,8 @@ class ClientAsync(YandexMusicObject):
diversity (:obj:`str`): Треки.
language (:obj:`str`): Язык.
type_ (:obj:`str`): Тип.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`bool`: :obj:`True` при успешном выполнении запроса, иначе :obj:`False`.
@ -1450,7 +1464,6 @@ class ClientAsync(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
url = f'{self.base_url}/rotor/station/{station}/settings3'
data = {'moodEnergy': mood_energy, 'diversity': diversity, 'type': type_}
@ -1491,8 +1504,9 @@ class ClientAsync(YandexMusicObject):
Args:
station (:obj:`str`): Станция.
settings2 (:obj:`bool`, optional): Использовать ли второй набор настроек.
queue (:obj:`str` | :obj:`int` , optional): Уникальной идентификатор трека, который только что был.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
queue (:obj:`str` | :obj:`int`, optional): Уникальной идентификатор трека, который только что был.
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`yandex_music.StationTracksResult` | :obj:`None`: Последовательность треков станции или :obj:`None`.
@ -1500,7 +1514,6 @@ class ClientAsync(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
url = f'{self.base_url}/rotor/station/{station}/tracks'
params = {}
@ -1520,7 +1533,8 @@ class ClientAsync(YandexMusicObject):
Args:
artist_id (:obj:`str` | :obj:`int`): Уникальный идентификатор исполнителя.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`yandex_music.BriefInfo` | :obj:`None`: Информация об артисте или :obj:`None`.
@ -1549,7 +1563,8 @@ class ClientAsync(YandexMusicObject):
artist_id (:obj:`str` | :obj:`int`): Уникальный идентификатор артиста.
page (:obj:`int`, optional): Номер страницы.
page_size (:obj:`int`, optional): Количество треков на странице.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`yandex_music.ArtistsTracks` | :obj:`None`: Страница списка треков артиста или :obj:`None`.
@ -1557,7 +1572,6 @@ class ClientAsync(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
url = f'{self.base_url}/artists/{artist_id}/tracks'
params = {'page': page, 'page-size': page_size}
@ -1586,7 +1600,8 @@ class ClientAsync(YandexMusicObject):
page (:obj:`int`, optional): Номер страницы.
page_size (:obj:`int`, optional): Количество альбомов на странице.
sort_by (:obj:`str`, optional): Параметр для сортировки.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`yandex_music.ArtistAlbums` | :obj:`None`: Страница списка альбомов артиста или :obj:`None`.
@ -1594,7 +1609,6 @@ class ClientAsync(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
url = f'{self.base_url}/artists/{artist_id}/direct-albums'
params = {'sort-by': sort_by, 'page': page, 'page-size': page_size}
@ -1627,7 +1641,8 @@ class ClientAsync(YandexMusicObject):
remove (:obj:`bool`, optional): Если :obj:`True` то снимает отметку, иначе ставит.
user_id (:obj:`str` | :obj:`int`, optional): Уникальный идентификатор пользователя. Если не указан
используется ID текущего пользователя.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`bool`: :obj:`True` при успешном выполнении запроса, иначе :obj:`False`.
@ -1665,7 +1680,8 @@ class ClientAsync(YandexMusicObject):
идентификатор трека или треков.
user_id (:obj:`str` | :obj:`int`, optional): Уникальный идентификатор пользователя. Если не указан
используется ID текущего пользователя.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`bool`: :obj:`True` при успешном выполнении запроса, иначе :obj:`False`.
@ -1689,7 +1705,8 @@ class ClientAsync(YandexMusicObject):
идентификатор трека или треков.
user_id (:obj:`str` | :obj:`int`, optional): Уникальный идентификатор пользователя. Если не указан
используется ID текущего пользователя.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`bool`: :obj:`True` при успешном выполнении запроса, иначе :obj:`False`.
@ -1713,7 +1730,8 @@ class ClientAsync(YandexMusicObject):
идентификатор артиста или артистов.
user_id (:obj:`str` | :obj:`int`, optional): Уникальный идентификатор пользователя. Если не указан
используется ID текущего пользователя.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`bool`: :obj:`True` при успешном выполнении запроса, иначе :obj:`False`.
@ -1737,7 +1755,8 @@ class ClientAsync(YandexMusicObject):
идентификатор артиста или артистов.
user_id (:obj:`str` | :obj:`int`, optional): Уникальный идентификатор пользователя. Если не указан
используется ID текущего пользователя.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`bool`: :obj:`True` при успешном выполнении запроса, иначе :obj:`False`.
@ -1765,7 +1784,8 @@ class ClientAsync(YandexMusicObject):
идентификатор плейлиста или плейлистов.
user_id (:obj:`str` | :obj:`int`, optional): Уникальный идентификатор пользователя. Если не указан
используется ID текущего пользователя.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`bool`: :obj:`True` при успешном выполнении запроса, иначе :obj:`False`.
@ -1793,7 +1813,8 @@ class ClientAsync(YandexMusicObject):
идентификатор плейлиста или плейлистов.
user_id (:obj:`str` | :obj:`int`, optional): Уникальный идентификатор пользователя. Если не указан
используется ID текущего пользователя.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`bool`: :obj:`True` при успешном выполнении запроса, иначе :obj:`False`.
@ -1817,7 +1838,8 @@ class ClientAsync(YandexMusicObject):
идентификатор артиста или артистов.
user_id (:obj:`str` | :obj:`int`, optional): Уникальный идентификатор пользователя. Если не указан
используется ID текущего пользователя.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`bool`: :obj:`True` при успешном выполнении запроса, иначе :obj:`False`.
@ -1841,7 +1863,8 @@ class ClientAsync(YandexMusicObject):
идентификатор артиста или артистов.
user_id (:obj:`str` | :obj:`int`, optional): Уникальный идентификатор пользователя. Если не указан
используется ID текущего пользователя.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`bool`: :obj:`True` при успешном выполнении запроса, иначе :obj:`False`.
@ -1866,7 +1889,8 @@ class ClientAsync(YandexMusicObject):
ids (:obj:`str` | :obj:`int` | :obj:`list` из :obj:`str` | :obj:`list` из :obj:`int`): Уникальный
идентификатор объекта или объектов.
params (:obj:`dict`, optional): Параметры, которые будут переданы в запрос.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`list` из :obj:`yandex_music.Artist` | :obj:`list` из :obj:`yandex_music.Album` |
@ -1893,7 +1917,8 @@ class ClientAsync(YandexMusicObject):
Args:
artist_ids (:obj:`str` | :obj:`int` | :obj:`list` из :obj:`str` | :obj:`list` из :obj:`int`): Уникальный
идентификатор исполнителя или исполнителей.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`list` из :obj:`yandex_music.Artist`: Исполнитель или исполнители.
@ -1910,7 +1935,8 @@ class ClientAsync(YandexMusicObject):
Args:
album_ids (:obj:`str` | :obj:`int` | :obj:`list` из :obj:`str` | :obj:`list` из :obj:`int`): Уникальный
идентификатор альбома или альбомов.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`list` из :obj:`yandex_music.Album`: Альбом или альбомы.
@ -1934,7 +1960,8 @@ class ClientAsync(YandexMusicObject):
track_ids (:obj:`str` | :obj:`int` | :obj:`list` из :obj:`str` | :obj:`list` из :obj:`int`): Уникальный
идентификатор трека или треков.
with_positions (:obj:`bool`, optional): С позициями TODO.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`list` из :obj:`yandex_music.Track`: Трек или Треки.
@ -1964,7 +1991,8 @@ class ClientAsync(YandexMusicObject):
Args:
playlist_ids (:obj:`str` | :obj:`int` | :obj:`list` из :obj:`str` | :obj:`list` из :obj:`int`): Уникальный
идентификатор плейлиста или плейлистов.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`list` из :obj:`yandex_music.Playlist`: Плейлист или плейлисты.
@ -2010,7 +2038,8 @@ class ClientAsync(YandexMusicObject):
Args:
user_id (:obj:`str` | :obj:`int`, optional): Уникальный идентификатор пользователя. Если не указан
используется ID текущего пользователя.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`list` из :obj:`yandex_music.Playlist`: Плейлисты пользователя.
@ -2042,7 +2071,8 @@ class ClientAsync(YandexMusicObject):
user_id (:obj:`str` | :obj:`int`, optional): Уникальный идентификатор пользователя. Если не указан
используется ID текущего пользователя.
params (:obj:`dict`, optional): Параметры, которые будут переданы в запрос.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`list` из :obj:`yandex_music.Like` | :obj:`yandex_music.TracksList`: Объекты с отметкой "Мне нравится".
@ -2076,7 +2106,8 @@ class ClientAsync(YandexMusicObject):
user_id (:obj:`str` | :obj:`int`, optional): Уникальный идентификатор пользователя. Если не указан
используется ID текущего пользователя.
if_modified_since_revision (:obj:`int`, optional): TODO.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`yandex_music.TracksList`: Треки с отметкой "Мне нравится".
@ -2098,7 +2129,8 @@ class ClientAsync(YandexMusicObject):
user_id (:obj:`str` | :obj:`int`, optional): Уникальный идентификатор пользователя. Если не указан
используется ID текущего пользователя.
rich (:obj:`bool`, optional): Если False, то приходит укороченная версия.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`list` из :obj:`yandex_music.Like`: Альбомы с отметкой "Мне нравится".
@ -2122,7 +2154,8 @@ class ClientAsync(YandexMusicObject):
user_id (:obj:`str` | :obj:`int`, optional): Уникальный идентификатор пользователя. Если не указан
используется ID текущего пользователя.
with_timestamps (:obj:`bool`, optional): С временными метками TODO.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`list` из :obj:`yandex_music.Like`: Артисты с отметкой "Мне нравится".
@ -2139,7 +2172,8 @@ class ClientAsync(YandexMusicObject):
Args:
user_id (:obj:`str` | :obj:`int`, optional): Уникальный идентификатор пользователя. Если не указан
используется ID текущего пользователя.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`list` из :obj:`yandex_music.Like`: Плейлисты с отметкой "Мне нравится".
@ -2163,7 +2197,8 @@ class ClientAsync(YandexMusicObject):
user_id (:obj:`str` | :obj:`int`, optional): Уникальный идентификатор пользователя. Если не указан
используется ID текущего пользователя.
if_modified_since_revision (:obj:`bool`, optional): TODO.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`list` из :obj:`yandex_music.TracksList`: Треки с отметкой "Не рекомендовать".
@ -2198,7 +2233,8 @@ class ClientAsync(YandexMusicObject):
remove (:obj:`bool`, optional): Если :obj:`True`, то снимает отметку, иначе ставит.
user_id (:obj:`str` | :obj:`int`, optional): Уникальный идентификатор пользователя. Если не указан
используется ID текущего пользователя.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`bool`: :obj:`True` при успешном выполнении запроса, иначе :obj:`False`.
@ -2233,7 +2269,8 @@ class ClientAsync(YandexMusicObject):
идентификатор трека или треков.
user_id (:obj:`str` | :obj:`int`, optional): Уникальный идентификатор пользователя. Если не указан
используется ID текущего пользователя.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`bool`: :obj:`True` при успешном выполнении запроса, иначе :obj:`False`.
@ -2257,7 +2294,8 @@ class ClientAsync(YandexMusicObject):
идентификатор трека или треков.
user_id (:obj:`str` | :obj:`int`, optional): Уникальный идентификатор пользователя. Если не указан
используется ID текущего пользователя.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`bool`: :obj:`True` при успешном выполнении запроса, иначе :obj:`False`.
@ -2300,7 +2338,8 @@ class ClientAsync(YandexMusicObject):
context (:obj:`str`, optional): Место, откуда было вызвано получение.
types (:obj:`str`, optional): Тип того, что вернуть после трека.
from_ (:obj:`str`, optional): Место, с которого попали в контекст.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`yandex_music.ShotEvent`: Шот от Алисы или :obj:`None`.
@ -2308,7 +2347,6 @@ class ClientAsync(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
url = f'{self.base_url}/after-track'
params = {
@ -2338,7 +2376,8 @@ class ClientAsync(YandexMusicObject):
Args:
device (:obj:`str`, optional): Содержит информацию об устройстве с которого выполняется запрос.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`list` из :obj:`yandex_music.QueueItem`: Элементы очереди всех устройств.
@ -2362,7 +2401,8 @@ class ClientAsync(YandexMusicObject):
Args:
queue_id (:obj:`str`): Уникальный идентификатор очереди.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`yandex_music.Queue`: Очередь или :obj:`None`.
@ -2387,7 +2427,8 @@ class ClientAsync(YandexMusicObject):
queue_id (:obj:`str`): Уникальный идентификатор очереди.
current_index (:obj:`int`): Текущий индекс.
device (:obj:`str`, optional): Содержит информацию об устройстве с которого выполняется запрос.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`bool`: :obj:`True` при успешном выполнении запроса, иначе :obj:`False`.
@ -2414,7 +2455,8 @@ class ClientAsync(YandexMusicObject):
Args:
queue (:obj:`yandex_music.Queue` | :obj:`str`): Объект очереди или JSON строка с этим объектом.
device (:obj:`str`, optional): Содержит информацию об устройстве с которого выполняется запрос.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`str`: Вернёт уникальный идентификатор созданной очереди, иначе :obj:`None`.

ファイルの表示

@ -3,23 +3,17 @@ class YandexMusicError(Exception):
class UnauthorizedError(YandexMusicError):
"""Класс исключения, вызываемого для случаев ошибок
аутентификации и авторизации.
"""
"""Класс исключения, вызываемого для случаев ошибок аутентификации и авторизации."""
# TODO (MarshalX) На самом деле поиск еще происходит по кодеку
# https://github.com/MarshalX/yandex-music-api/issues/552
class InvalidBitrateError(YandexMusicError):
"""Класс исключения, вызываемого при попытке загрузки трека
с недоступным битрейтом.
"""
"""Класс исключения, вызываемого при попытке загрузки трека с недоступным битрейтом."""
class NetworkError(YandexMusicError):
"""Базовый класс исключений, вызываемых для ошибок, связанных с
запросами к серверу.
"""
"""Базовый класс исключений, вызываемых для ошибок, связанных с запросами к серверу."""
class BadRequestError(NetworkError):

ファイルの表示

@ -69,7 +69,6 @@ class MixLink(YandexMusicObject):
Returns:
:obj:`str`: URL обложки.
"""
if not self.cover_white:
raise YandexMusicError("You can't get cover white because it's None.")

ファイルの表示

@ -165,10 +165,12 @@ class Playlist(YandexMusicObject):
@property
def is_mine(self) -> bool:
"""Является ли плейлист моим."""
return self.owner.uid == self.client.me.account.uid
@property
def playlist_id(self) -> str:
"""Полный ID плейлиста."""
return f'{self.owner.uid}:{self.kind}'
def get_recommendations(self, *args, **kwargs) -> Optional['PlaylistRecommendations']:
@ -295,17 +297,25 @@ class Playlist(YandexMusicObject):
"""
return await self.client.request.retrieve(self.get_og_image_url(size))
def rename(self, name: str) -> None:
def rename(self, name: str, *args, **kwargs) -> None:
"""Сокращение для::
client.users_playlists_name(playlist.kind, name, *args, **kwargs)
"""
client, kind = self.client, self.kind
self.__dict__.clear()
self.__dict__.update(client.users_playlists_name(kind, name).__dict__)
self.__dict__.update(client.users_playlists_name(kind, name, *args, **kwargs).__dict__)
async def rename_async(self, name: str) -> None:
async def rename_async(self, name: str, *args, **kwargs) -> None:
"""Сокращение для::
client.users_playlists_name(playlist.kind, name, *args, **kwargs)
"""
client, kind = self.client, self.kind
self.__dict__.clear()
self.__dict__.update((await client.users_playlists_name(kind, name)).__dict__)
self.__dict__.update((await client.users_playlists_name(kind, name, *args, **kwargs)).__dict__)
def like(self, *args, **kwargs) -> bool:
"""Сокращение для::

ファイルの表示

@ -26,6 +26,7 @@ class PlaylistId(YandexMusicObject):
@property
def playlist_id(self) -> str:
"""Полный ID плейлиста."""
return f'{self.uid}:{self.kind}'
def fetch_playlist(self, *args, **kwargs) -> Union['Playlist', List['Playlist']]:

ファイルの表示

@ -73,6 +73,8 @@ class Search(YandexMusicObject):
Args:
page (:obj:`int`): Номер страницы.
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`yandex_music.Search` | :obj:`None`: Страница результата поиска или :obj:`None`.
@ -84,6 +86,8 @@ class Search(YandexMusicObject):
Args:
page (:obj:`int`): Номер страницы.
*args: Произвольные аргументы (будут переданы в запрос).
**kwargs: Произвольные именованные аргументы (будут переданы в запрос).
Returns:
:obj:`yandex_music.Search` | :obj:`None`: Страница результата поиска или :obj:`None`.

ファイルの表示

@ -460,7 +460,6 @@ class Track(YandexMusicObject):
Returns:
:obj:`list` из :obj:`str`: Имена исполнителей.
"""
return [i.name for i in self.artists]
@property

ファイルの表示

@ -37,8 +37,9 @@ default_timeout = object()
class Request:
"""Вспомогательный класс для yandex_music, представляющий методы для выполнения POST и GET запросов, скачивания
файлов.
"""Вспомогательный класс для выполнения запросов.
Предоставляет методы для выполнения POST и GET запросов, скачивания файлов.
Args:
client (:obj:`yandex_music.Client`, optional): Клиент Yandex Music.

ファイルの表示

@ -43,8 +43,9 @@ default_timeout = object()
class Request:
"""Вспомогательный класс для yandex_music, представляющий методы для выполнения POST и GET запросов, скачивания
файлов.
"""Вспомогательный класс для выполнения запросов.
Предоставляет методы для выполнения POST и GET запросов, скачивания файлов.
Args:
client (:obj:`yandex_music.Client`, optional): Клиент Yandex Music.