コミット
d5578d7be1
|
@ -0,0 +1,7 @@
|
|||
yandex_music.utils.captcha_response.CaptchaResponse
|
||||
===================================================
|
||||
|
||||
.. autoclass:: yandex_music.utils.captcha_response.CaptchaResponse
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
|
@ -5,4 +5,5 @@
|
|||
|
||||
yandex_music.utils.request
|
||||
yandex_music.utils.response
|
||||
yandex_music.utils.captcha_response
|
||||
yandex_music.utils.difference
|
|
@ -2,6 +2,26 @@ from yandex_music import YandexMusicObject
|
|||
|
||||
|
||||
class CaptchaResponse(YandexMusicObject):
|
||||
"""Класс представляющий ответ сервера с запросом на ввод капчи.
|
||||
|
||||
Attributes:
|
||||
x_captcha_url (:obj:`str`): Ссылка на изображение с капчей.
|
||||
x_captcha_key (:obj:`str`): Уникальный ключ капчи.
|
||||
error_description (:obj:`str`): Описание ошибки.
|
||||
error (:obj:`str`): Код ошибки.
|
||||
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
|
||||
Music.
|
||||
|
||||
Args:
|
||||
x_captcha_url (:obj:`str`): Ссылка на изображение с капчей.
|
||||
x_captcha_key (:obj:`str`): Уникальный ключ капчи.
|
||||
error_description (:obj:`str`): Описание ошибки.
|
||||
error (:obj:`str`): Код ошибки.
|
||||
client (:obj:`yandex_music.Client`, optional): Объект класса :class:`yandex_music.Client` представляющий клиент
|
||||
Yandex Music.
|
||||
**kwargs: Произвольные ключевые аргументы полученные от API.
|
||||
"""
|
||||
|
||||
def __init__(self,
|
||||
x_captcha_url,
|
||||
x_captcha_key,
|
||||
|
@ -15,9 +35,34 @@ class CaptchaResponse(YandexMusicObject):
|
|||
self.error = error
|
||||
|
||||
self.client = client
|
||||
self._id_attrs = (self.x_captcha_key, self.x_captcha_url)
|
||||
|
||||
def download(self, filename=None):
|
||||
"""Загрузка изображения с капчей.
|
||||
|
||||
Args:
|
||||
filename (:obj:`str`, optional): Путь и(или) название файла вместе с расширением. По умолчанию ключ
|
||||
капчи и расширение `.gif`.
|
||||
"""
|
||||
|
||||
if not filename:
|
||||
filename = f'{self.x_captcha_key}.gif'
|
||||
|
||||
self.client.request.download(self.x_captcha_url, filename)
|
||||
|
||||
@classmethod
|
||||
def de_json(cls, data, client):
|
||||
"""Десериализация объекта.
|
||||
|
||||
Args:
|
||||
data (:obj:`dict`): Поля и значения десериализуемого объекта.
|
||||
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
|
||||
Music.
|
||||
|
||||
Returns:
|
||||
:obj:`yandex_music.utils.captcha_response.CaptchaResponse`: Объект класса
|
||||
:class:`yandex_music.utils.captcha_response.CaptchaResponse`.
|
||||
"""
|
||||
if not data:
|
||||
return None
|
||||
|
||||
|
|
読み込み中…
新しいイシューから参照