Source code for spb_curate.error

from typing import Optional, Union

# -- API ERRORS --


[docs] class SuperbAIError(Exception): def __init__( self, message: Union[str, dict] = "", http_status=None, code: Optional[int] = None, error_body=None, ): super(SuperbAIError, self).__init__(message) self._message = message self.http_status = http_status self.code = code self.raw_error_body = error_body self.error = self.build_error_object() def __str__(self): msg = self._message or "<empty message>" return msg def __repr__(self): return ( f"{self.__class__.__name__}(message={self._message}, " f"http_status={self.http_status})" )
[docs] def build_error_object(self): if self.raw_error_body is None: return None if isinstance(self.raw_error_body, str) or isinstance( self.raw_error_body, dict ): return self.raw_error_body return None
[docs] class APIConnectionError(SuperbAIError): def __init__( self, message: Union[str, dict] = "", http_status=None, code: Optional[int] = None, error_body=None, should_retry=False, ): super().__init__( message=message, http_status=http_status, code=code, error_body=error_body ) self.should_retry = should_retry
# generic case
[docs] class APIError(SuperbAIError): pass
[docs] class AuthenticationError(SuperbAIError): """HTTP CODE: 401""" pass
[docs] class BadRequestError(SuperbAIError): """HTTP CODE: 400""" pass
[docs] class ConflictError(SuperbAIError): """HTTP CODE: 409""" pass
[docs] class QuerySyntaxError(BadRequestError): """HTTP CODE: 400""" pass
[docs] class SystemError(SuperbAIError): """HTTP CODE: 500""" pass
[docs] class MaxFieldCountReachedError(SuperbAIError): """HTTP CODE: 403""" pass
[docs] class NotFoundError(SuperbAIError): """HTTP CODE: 404""" pass
[docs] class RetryableError(SuperbAIError): pass
[docs] class TooManyRequestsError(SuperbAIError): """HTTP CODE: 429""" pass
# -- SDK ERRORS --
[docs] class DependencyError(Exception): pass
[docs] class ValidationError(Exception): pass