79 行
2.4 KiB
Python
79 行
2.4 KiB
Python
from typing import TYPE_CHECKING
|
||
|
||
if TYPE_CHECKING:
|
||
from yandex_music.utils.captcha_response import CaptchaResponse
|
||
|
||
|
||
class YandexMusicError(Exception):
|
||
"""Базовый класс, представляющий исключения общего характера. """
|
||
|
||
pass
|
||
|
||
|
||
class InvalidToken(YandexMusicError):
|
||
"""Класс исключения, вызываемого для случаев недействительного
|
||
или неверного токена аутентификации.
|
||
"""
|
||
|
||
pass
|
||
|
||
|
||
class Unauthorized(YandexMusicError):
|
||
"""Класс исключения, вызываемого для случаев ошибок
|
||
аутентификации и авторизации.
|
||
"""
|
||
|
||
pass
|
||
|
||
|
||
class Captcha(YandexMusicError):
|
||
"""Базовый класс, представляющий исключение связанное с капчей.
|
||
|
||
Attributes:
|
||
captcha (:obj:`yandex_music.utils.captcha_response.CaptchaResponse`): Объект класса
|
||
:class:`yandex_music.utils.captcha_response.CaptchaResponse` представляющий капчу.
|
||
|
||
Args:
|
||
msg (:obj:`str`): Сообщение с ошибкой.
|
||
captcha (:obj:`yandex_music.utils.captcha_response.CaptchaResponse`): Объект класса
|
||
:class:`yandex_music.utils.captcha_response.CaptchaResponse` представляющий капчу.
|
||
"""
|
||
|
||
def __init__(self, msg: str, captcha: 'CaptchaResponse', *args, **kwargs):
|
||
self.captcha = captcha
|
||
super().__init__(msg, *args, **kwargs)
|
||
|
||
|
||
class CaptchaRequired(Captcha):
|
||
"""Класс исключения, вызываемый в случае необходимости ввода проверочного кода.
|
||
"""
|
||
|
||
pass
|
||
|
||
|
||
class CaptchaWrong(Captcha):
|
||
"""Класс исключения, вызываемый в случае неправильного ввода капчи.
|
||
"""
|
||
|
||
pass
|
||
|
||
|
||
class NetworkError(YandexMusicError):
|
||
"""Базовый класс исключений, вызываемых для ошибок, связанных с
|
||
запросами к серверу.
|
||
"""
|
||
|
||
pass
|
||
|
||
|
||
class BadRequest(NetworkError):
|
||
pass
|
||
|
||
|
||
class TimedOut(NetworkError):
|
||
"""Класс исключения, вызываемого для случаев истечения времени ожидания.
|
||
"""
|
||
|
||
def __init__(self):
|
||
super().__init__('Timed out')
|