yandex_music.utils.request¶
- class yandex_music.utils.request.DefaultTimeout¶
Bases:
object
Заглушка для установки времени ожидания по умолчанию.
- class yandex_music.utils.request.Request(client: ClientType | None = None, headers: ~typing.Dict[str, str] | None = None, proxy_url: str | None = None, timeout: TimeoutType = <yandex_music.utils.request.DefaultTimeout object>)¶
Bases:
object
Вспомогательный класс для выполнения запросов.
Предоставляет методы для выполнения POST и GET запросов, скачивания файлов.
- Parameters:
client (
yandex_music.Client
, optional) – Клиент Yandex Music.headers (
dict
, optional) – Заголовки передаваемые с каждым запросом.proxy_url (
str
, optional) – Прокси.
- download(url: str, filename: str, timeout: int | float | ~yandex_music.utils.request.DefaultTimeout = <yandex_music.utils.request.DefaultTimeout object>, **kwargs: ~typing.Any) None ¶
Отправка запроса на получение содержимого и его запись в файл.
- Parameters:
url (
str
) – Адрес для запроса.filename (
str
) – Путь и(или) название файла вместе с расширением.timeout (
int
|float
) – Используется как время ожидания ответа от сервера вместо указанного при создании пула.**kwargs – Произвольные ключевые аргументы для requests.request.
- Raises:
yandex_music.exceptions.YandexMusicError – Базовое исключение библиотеки.
- get(url: str, params: JSONType = None, timeout: TimeoutType = <yandex_music.utils.request.DefaultTimeout object>, **kwargs: ~typing.Any) JSONType ¶
Отправка GET запроса.
- Parameters:
url (
str
) – Адрес для запроса.params (
str
) – GET параметры для запроса.timeout (
int
|float
) – Используется как время ожидания ответа от сервера вместо указанного при создании пула.**kwargs – Произвольные ключевые аргументы для requests.request.
- Returns:
Обработанное тело ответа.
- Return type:
JSONType
- Raises:
yandex_music.exceptions.YandexMusicError – Базовое исключение библиотеки.
- post(url: str, data: JSONType, timeout: TimeoutType = <yandex_music.utils.request.DefaultTimeout object>, **kwargs: ~typing.Any) JSONType ¶
Отправка POST запроса.
- Parameters:
url (
str
) – Адрес для запроса.data (
str
) – POST тело запроса.timeout (
int
|float
) – Используется как время ожидания ответа от сервера вместо указанного при создании пула.**kwargs – Произвольные ключевые аргументы для requests.request.
- Returns:
Обработанное тело ответа.
- Return type:
JSONType
- Raises:
yandex_music.exceptions.YandexMusicError – Базовое исключение библиотеки.
- retrieve(url: str, timeout: int | float | ~yandex_music.utils.request.DefaultTimeout = <yandex_music.utils.request.DefaultTimeout object>, **kwargs: ~typing.Any) bytes ¶
Отправка GET запроса и получение содержимого без обработки (парсинга).
- Parameters:
url (
str
) – Адрес для запроса.timeout (
int
|float
) – Используется как время ожидания ответа от сервера вместо указанного при создании пула.**kwargs – Произвольные ключевые аргументы для requests.request.
- Returns:
Тело ответа.
- Return type:
bytes
- Raises:
yandex_music.exceptions.YandexMusicError – Базовое исключение библиотеки.
- set_and_return_client(client: ClientType) ClientType ¶
Принимает клиент и присваивает его текущему объекту. При наличии авторизации добавляет заголовок.
- Parameters:
client (
yandex_music.Client
) – Клиент Yandex Music.- Returns:
Клиент Yandex Music.
- Return type:
- set_authorization(token: str) None ¶
Добавляет заголовок авторизации для каждого запроса.
Note
Используется при передаче своего экземпляра Request’a клиенту.
- Parameters:
token (
str
) – OAuth токен.
- set_language(lang: str) None ¶
Добавляет заголовок языка для каждого запроса.
Note
Возможные значения lang: en/uz/uk/us/ru/kk/hy.
- Parameters:
lang (
str
) – Язык.
- set_timeout(timeout: int | float | object = <yandex_music.utils.request.DefaultTimeout object>) None ¶
Устанавливает время ожидания для всех запросов.
- Parameters:
timeout (
int
|float
) – Время ожидания от сервера.