| from httpx import RequestError, DecodingError | |
| from json import JSONDecodeError | |
| class APIError(Exception): | |
| """Base error for all exceptions from this Client.""" | |
| class APIConnectionError(RequestError, APIError): | |
| """Base class for all communications errors including HTTP errors.""" | |
| class APIResponseError(APIError, JSONDecodeError): | |
| """Base class for all errors from the API response.""" | |
| class LoginFailed(DecodingError, APIConnectionError, JSONDecodeError): | |
| """This can technically be raised with any request since log in may be attempted for | |
| any request and could fail.""" | |
| class NotLoggedIn(APIConnectionError): | |
| """Raised when login is not successful.""" | |