Обновление документации
Добавление документации для Функции: convert_track_id_to_number, get_sign_request Классы: Sign, TrackLyrics, LyricsMajor Методы: Client.tracks_lyrics
このコミットが含まれているのは:
コミット
742d60d18c
|
@ -0,0 +1,7 @@
|
|||
yandex\_music.track.lyrics\_major
|
||||
=================================
|
||||
|
||||
.. automodule:: yandex_music.track.lyrics_major
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
|
@ -13,9 +13,11 @@ Submodules
|
|||
:maxdepth: 4
|
||||
|
||||
yandex_music.track.licence_text_part
|
||||
yandex_music.track.lyrics_major
|
||||
yandex_music.track.major
|
||||
yandex_music.track.meta_data
|
||||
yandex_music.track.normalization
|
||||
yandex_music.track.poetry_lover_match
|
||||
yandex_music.track.track
|
||||
yandex_music.track.track_lyrics
|
||||
yandex_music.track.tracks_similar
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
yandex\_music.track.track\_lyrics
|
||||
=================================
|
||||
|
||||
.. automodule:: yandex_music.track.track_lyrics
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
|
@ -0,0 +1,7 @@
|
|||
yandex\_music.utils.convert\_track\_id
|
||||
======================================
|
||||
|
||||
.. automodule:: yandex_music.utils.convert_track_id
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
|
@ -12,7 +12,9 @@ Submodules
|
|||
.. toctree::
|
||||
:maxdepth: 4
|
||||
|
||||
yandex_music.utils.convert_track_id
|
||||
yandex_music.utils.difference
|
||||
yandex_music.utils.request
|
||||
yandex_music.utils.request_async
|
||||
yandex_music.utils.response
|
||||
yandex_music.utils.sign_request
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
yandex\_music.utils.sign\_request
|
||||
=================================
|
||||
|
||||
.. automodule:: yandex_music.utils.sign_request
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
|
@ -572,15 +572,21 @@ class Client(YandexMusicObject):
|
|||
) -> Optional[TrackLyrics]:
|
||||
"""Получение текста трека.
|
||||
|
||||
Note:
|
||||
Известные значения для аргумента format:
|
||||
- `LRC` - формат с временными метками.
|
||||
- `TEXT` - простой текст.
|
||||
|
||||
Args:
|
||||
track_id (:obj:`str` | :obj:`int`): Уникальный идентификатор трека.
|
||||
format (:obj:`str`): Формат текста.
|
||||
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
|
||||
|
||||
Returns:
|
||||
TODO
|
||||
:obj:`yandex_music.TrackLyrics` | :obj:`None`: Информация о тексте трека.
|
||||
|
||||
Raises:
|
||||
:class:`yandex_music.exceptions.NotFoundError`: Текст у трека отсутствует.
|
||||
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
|
||||
"""
|
||||
|
||||
|
|
|
@ -578,15 +578,21 @@ class ClientAsync(YandexMusicObject):
|
|||
) -> Optional[TrackLyrics]:
|
||||
"""Получение текста трека.
|
||||
|
||||
Note:
|
||||
Известные значения для аргумента format:
|
||||
- `LRC` - формат с временными метками.
|
||||
- `TEXT` - простой текст.
|
||||
|
||||
Args:
|
||||
track_id (:obj:`str` | :obj:`int`): Уникальный идентификатор трека.
|
||||
format (:obj:`str`): Формат текста.
|
||||
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
|
||||
|
||||
Returns:
|
||||
TODO
|
||||
:obj:`yandex_music.TrackLyrics` | :obj:`None`: Информация о тексте трека.
|
||||
|
||||
Raises:
|
||||
:class:`yandex_music.exceptions.NotFoundError`: Текст у трека отсутствует.
|
||||
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
|
||||
"""
|
||||
|
||||
|
|
|
@ -10,7 +10,14 @@ if TYPE_CHECKING:
|
|||
|
||||
@model
|
||||
class LyricsMajor(YandexMusicObject):
|
||||
"""TODO"""
|
||||
"""Класс, представляющий сервис-источник текстов к трекам.
|
||||
|
||||
Args:
|
||||
id (:obj:`int`): Уникальный идентификатор сервиса.
|
||||
name (:obj:`str`): Имя сервиса.
|
||||
pretty_name (:obj:`str`): Человекочитаемое имя сервиса.
|
||||
client (:obj:`yandex_music.Client`, optional): Клиент Yandex Music.
|
||||
"""
|
||||
|
||||
id: int
|
||||
name: str
|
||||
|
@ -22,6 +29,15 @@ class LyricsMajor(YandexMusicObject):
|
|||
|
||||
@classmethod
|
||||
def de_json(cls, data: dict, client: 'Client') -> Optional['LyricsMajor']:
|
||||
"""Десериализация объекта.
|
||||
|
||||
Args:
|
||||
data (:obj:`dict`): Поля и значения десериализуемого объекта.
|
||||
client (:obj:`yandex_music.Client`, optional): Клиент Yandex Music.
|
||||
|
||||
Returns:
|
||||
:obj:`yandex_music.LyricsMajor`: Сервис-источник текстов к трекам.
|
||||
"""
|
||||
if not data:
|
||||
return None
|
||||
|
||||
|
|
|
@ -10,7 +10,16 @@ if TYPE_CHECKING:
|
|||
|
||||
@model
|
||||
class TrackLyrics(YandexMusicObject):
|
||||
"""TODO"""
|
||||
"""Класс, представляющий текст трека.
|
||||
|
||||
Attributes:
|
||||
download_url (:obj:`str`): Ссылка на скачивание текста.
|
||||
lyric_id (:obj:`int`): Уникальный идентификатор текста.
|
||||
external_lyric_id (:obj:`str`): Уникальный идентификатор текста на сервисе предоставляющий текст.
|
||||
writers (:obj:`list` из :obj:`str`): Авторы текста.
|
||||
major (:obj:`yandex_music.LyricsMajor`): Сервис, откуда был получен текст.
|
||||
client (:obj:`yandex_music.Client`, optional): Клиент Yandex Music.
|
||||
"""
|
||||
|
||||
download_url: str
|
||||
lyric_id: int
|
||||
|
@ -27,7 +36,15 @@ class TrackLyrics(YandexMusicObject):
|
|||
|
||||
@classmethod
|
||||
def de_json(cls, data: dict, client: 'Client') -> Optional['TrackLyrics']:
|
||||
"""TODO"""
|
||||
"""Десериализация объекта.
|
||||
|
||||
Args:
|
||||
data (:obj:`dict`): Поля и значения десериализуемого объекта.
|
||||
client (:obj:`yandex_music.Client`, optional): Клиент Yandex Music.
|
||||
|
||||
Returns:
|
||||
:obj:`yandex_music.TrackLyrics`: Текст трека.
|
||||
"""
|
||||
if not data:
|
||||
return None
|
||||
|
||||
|
|
|
@ -2,7 +2,19 @@ from typing import Union
|
|||
|
||||
|
||||
def convert_track_id_to_number(track_id: Union[str, int]) -> int:
|
||||
"""TODO"""
|
||||
"""Переобразование идентификатора трека в номерной формат.
|
||||
|
||||
Note:
|
||||
Преобразует ID в формате "{track_id}:{album}" в track_id.
|
||||
|
||||
Преобразует ID в формате "{track_id}" в track_id.
|
||||
|
||||
Args:
|
||||
track_id (:obj:`str` | :obj:`int`): Уникальный идентификатора трека.
|
||||
|
||||
Returns:
|
||||
:obj:`int`: Уникальный идентификатора трека в номерном формате.
|
||||
"""
|
||||
if isinstance(track_id, str):
|
||||
track_id = int(track_id.split(':')[0])
|
||||
|
||||
|
|
|
@ -9,18 +9,32 @@ from yandex_music.utils.convert_track_id import convert_track_id_to_number
|
|||
|
||||
|
||||
DEFAULT_SIGN_KEY = 'p93jhgh689SBReK6ghtw62'
|
||||
""":obj:`str`: Ключ для подписи из Android приложения."""
|
||||
|
||||
|
||||
@dataclass
|
||||
class Sign:
|
||||
"""TODO"""
|
||||
"""Подпись запроса.
|
||||
|
||||
Attributes:
|
||||
timestamp (:obj:`int`): Время создания подписи.
|
||||
value (:obj:`str`): Подпись.
|
||||
"""
|
||||
|
||||
timestamp: int
|
||||
value: str
|
||||
|
||||
|
||||
def get_sign_request(track_id: Union[int, str], key: str = DEFAULT_SIGN_KEY) -> Sign:
|
||||
"""TODO"""
|
||||
"""Создает подпись для запроса.
|
||||
|
||||
Args:
|
||||
track_id (:obj:`str` | :obj:`int`): Уникальный идентификатора трека.
|
||||
key (:obj:`str`, optional): Ключ для подписи.
|
||||
|
||||
Returns:
|
||||
:obj:`Sign`: Подпись.
|
||||
"""
|
||||
track_id = convert_track_id_to_number(track_id)
|
||||
|
||||
timestamp = int(datetime.datetime.now().timestamp())
|
||||
|
|
読み込み中…
新しいイシューから参照