исправлены опечатки в документации close #546

このコミットが含まれているのは:
Ilya (Marshal) 2022-10-31 15:29:38 +01:00
コミット 78bcb05799
6個のファイルの変更23行の追加20行の削除

ファイルの表示

@ -446,7 +446,7 @@ class Client(YandexMusicObject):
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
Returns:
:obj:`yandex_music.LandingList`: Список подскастов.
:obj:`yandex_music.LandingList`: Список подкастов.
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
@ -1082,7 +1082,7 @@ class Client(YandexMusicObject):
@log
def rotor_account_status(self, *args, **kwargs) -> Optional[Status]:
"""Получение статуса пользователя с дополнителньыми полями.
"""Получение статуса пользователя с дополнительными полями.
Note:
Данный статус отличается от обычного наличием дополнительных полей, например, `skips_per_hour`.
@ -1164,12 +1164,12 @@ class Client(YandexMusicObject):
*args,
**kwargs,
) -> bool:
"""Отправка ответной реакции на происходящее при прослушивании радио.
"""Отправка обратной связи на действия при прослушивании радио.
Note:
Сообщения о начале прослушивания радио, начале и конце трека, его пропуска.
Известные типы фидбека: `radioStarted`, `trackStarted`, `trackFinished`, `skip`.
Известные типы обратной связи: `radioStarted`, `trackStarted`, `trackFinished`, `skip`.
Пример `station`: `user:onyourwave`, `genre:allrock`.
@ -1177,7 +1177,7 @@ class Client(YandexMusicObject):
Args:
station (:obj:`str`): Станция.
type_ (:obj:`str`): Тип отправляемого фидбека.
type_ (:obj:`str`): Тип отправляемого отзыва.
timestamp (:obj:`str` | :obj:`float` | :obj:`int`, optional): Текущее время и дата.
from_ (:obj:`str`, optional): Откуда начато воспроизведение радио.
batch_id (:obj:`str`, optional): Уникальный идентификатор партии треков. Возвращается при получении треков.
@ -1424,7 +1424,7 @@ class Client(YandexMusicObject):
3. Отправить фидбек о начале следующего трека (второй в цепочки).
4. Выполнить запрос получения треков. В ответе придёт новые треки или произойдёт сдвиг цепочки на 1 элемент.
Проход по цепочке до коцна не изучен. Часто встречаются дубликаты.
Проход по цепочке до конца не изучен. Часто встречаются дубликаты.
Все официальные клиенты выполняют запросы с `settings2 = True`.
@ -2260,7 +2260,7 @@ class Client(YandexMusicObject):
result = self._request.get(url, params=params, *args, **kwargs)
# TODO судя по всему эндпоинт ещё возвращает рекламу после треков для пользователей без подписки.
# TODO (MarshalX) судя по всему ручка ещё возвращает рекламу после треков для пользователей без подписки.
return ShotEvent.de_json(result.get('shot_event'), self)
@log

ファイルの表示

@ -452,7 +452,7 @@ class ClientAsync(YandexMusicObject):
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
Returns:
:obj:`yandex_music.LandingList`: Список подскастов.
:obj:`yandex_music.LandingList`: Список подкастов.
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
@ -1092,7 +1092,7 @@ class ClientAsync(YandexMusicObject):
@log
async def rotor_account_status(self, *args, **kwargs) -> Optional[Status]:
"""Получение статуса пользователя с дополнителньыми полями.
"""Получение статуса пользователя с дополнительными полями.
Note:
Данный статус отличается от обычного наличием дополнительных полей, например, `skips_per_hour`.
@ -1174,12 +1174,12 @@ class ClientAsync(YandexMusicObject):
*args,
**kwargs,
) -> bool:
"""Отправка ответной реакции на происходящее при прослушивании радио.
"""Отправка обратной связи на действия при прослушивании радио.
Note:
Сообщения о начале прослушивания радио, начале и конце трека, его пропуска.
Известные типы фидбека: `radioStarted`, `trackStarted`, `trackFinished`, `skip`.
Известные типы обратной связи: `radioStarted`, `trackStarted`, `trackFinished`, `skip`.
Пример `station`: `user:onyourwave`, `genre:allrock`.
@ -1187,7 +1187,7 @@ class ClientAsync(YandexMusicObject):
Args:
station (:obj:`str`): Станция.
type_ (:obj:`str`): Тип отправляемого фидбека.
type_ (:obj:`str`): Тип отправляемого отзыва.
timestamp (:obj:`str` | :obj:`float` | :obj:`int`, optional): Текущее время и дата.
from_ (:obj:`str`, optional): Откуда начато воспроизведение радио.
batch_id (:obj:`str`, optional): Уникальный идентификатор партии треков. Возвращается при получении треков.
@ -1434,7 +1434,7 @@ class ClientAsync(YandexMusicObject):
3. Отправить фидбек о начале следующего трека (второй в цепочки).
4. Выполнить запрос получения треков. В ответе придёт новые треки или произойдёт сдвиг цепочки на 1 элемент.
Проход по цепочке до коцна не изучен. Часто встречаются дубликаты.
Проход по цепочке до конца не изучен. Часто встречаются дубликаты.
Все официальные клиенты выполняют запросы с `settings2 = True`.
@ -2276,7 +2276,7 @@ class ClientAsync(YandexMusicObject):
result = await self._request.get(url, params=params, *args, **kwargs)
# TODO судя по всему эндпоинт ещё возвращает рекламу после треков для пользователей без подписки.
# TODO (MarshalX) судя по всему ручка ещё возвращает рекламу после треков для пользователей без подписки.
return ShotEvent.de_json(result.get('shot_event'), self)
@log

ファイルの表示

@ -10,6 +10,8 @@ if TYPE_CHECKING:
from yandex_music import Client
from xml.dom.minicompat import NodeList
SIGN_SALT = 'XGRlBW9FXlekgbPrRHuSiA'
@model
class DownloadInfo(YandexMusicObject):
@ -52,7 +54,7 @@ class DownloadInfo(YandexMusicObject):
path = self._get_text_node_data(doc.getElementsByTagName('path'))
ts = self._get_text_node_data(doc.getElementsByTagName('ts'))
s = self._get_text_node_data(doc.getElementsByTagName('s'))
sign = md5(('XGRlBW9FXlekgbPrRHuSiA' + path[1::] + s).encode('utf-8')).hexdigest()
sign = md5((SIGN_SALT + path[1::] + s).encode('utf-8')).hexdigest()
return f'https://{host}/get-mp3/{sign}/{ts}{path}'

ファイルの表示

@ -8,6 +8,7 @@ class UnauthorizedError(YandexMusicError):
"""
# TODO (MarshalX) На самом деле поиск еще происходит по кодеку
class InvalidBitrateError(YandexMusicError):
"""Класс исключения, вызываемого при попытке загрузки трека
с недоступным битрейтом.
@ -28,7 +29,7 @@ class NotFoundError(NetworkError):
"""Класс исключения, вызываемый в случае ответа от сервера со статус кодом 404."""
# TimeoutError builtin. И не знаю хотим ли использовать его для синк и asyncio.TimeoutError для асинк
# TimeoutError builtin. Пока не знаю хотим ли использовать его для синхронной и asyncio.TimeoutError для асинхронной
class TimedOutError(NetworkError):
"""Класс исключения, вызываемого для случаев истечения времени ожидания."""

ファイルの表示

@ -10,7 +10,7 @@ if TYPE_CHECKING:
@model
class Experiments(YandexMusicObject):
"""Класс, представляющий какие-то свистелки-перделки, флажки, режимы экспериментальных функций.
"""Класс, представляющий какие-то свистелки и перделки, флажки, режимы экспериментальных функций.
Attributes:
client (:obj:`yandex_music.Client`): Клиент Yandex Music.
@ -35,7 +35,7 @@ class Experiments(YandexMusicObject):
client (:obj:`yandex_music.Client`, optional): Клиент Yandex Music.
Returns:
:obj:`yandex_music.Experiments`: Какие-то свистелки-перделки, флажки, режимы экспериментальных функций.
:obj:`yandex_music.Experiments`: Какие-то свистелки и перделки, флажки, режимы экспериментальных функций.
"""
if not data:
return None

ファイルの表示

@ -9,7 +9,7 @@ if TYPE_CHECKING:
@model
class Pager(YandexMusicObject):
"""Класс, представляющий пагинатор.
"""Класс, представляющий пагинацию.
Attributes:
total (:obj:`int`): Всего треков.
@ -35,7 +35,7 @@ class Pager(YandexMusicObject):
client (:obj:`yandex_music.Client`, optional): Клиент Yandex Music.
Returns:
:obj:`yandex_music.Pager`: Пагинатор.
:obj:`yandex_music.Pager`: Пагинация.
"""
if not data:
return None