2022-10-08 00:59:08 +00:00
|
|
|
from typing import Mapping, Any, Optional
|
|
|
|
|
|
|
|
|
|
|
|
class APIHelperException(Exception):
|
|
|
|
pass
|
|
|
|
|
|
|
|
|
|
|
|
class NetworkException(APIHelperException):
|
|
|
|
pass
|
|
|
|
|
|
|
|
|
2022-10-21 07:06:24 +00:00
|
|
|
class APIHelperTimedOut(APIHelperException):
|
2022-10-08 00:59:08 +00:00
|
|
|
pass
|
|
|
|
|
|
|
|
|
|
|
|
class ResponseException(APIHelperException):
|
|
|
|
code: int = 0
|
|
|
|
message: str = ""
|
|
|
|
|
|
|
|
def __init__(self, response: Optional[Mapping[str, Any]] = None, message: Optional[str] = None) -> None:
|
|
|
|
if response is None:
|
|
|
|
self.message = message
|
|
|
|
_message = message
|
|
|
|
else:
|
|
|
|
self.code = response.get("retcode", self.code)
|
|
|
|
self.message = response.get("message", "")
|
|
|
|
_message = f"[{self.code}] {self.message}"
|
|
|
|
|
|
|
|
super().__init__(_message)
|
|
|
|
|
|
|
|
|
|
|
|
class DataNotFoundError(ResponseException):
|
|
|
|
def __init__(self):
|
|
|
|
message = "response data not find"
|
|
|
|
super().__init__(message=message)
|
|
|
|
|
|
|
|
|
|
|
|
class ReturnCodeError(ResponseException):
|
|
|
|
def __init__(self):
|
|
|
|
message = "response return code error"
|
|
|
|
super().__init__(message=message)
|