Skip to content

exceptions

😸 Cheshire-Cat API

Production ready AI assistant framework

The version of the OpenAPI document: 1.3.1 Generated by OpenAPI Generator (https://openapi-generator.tech)

Do not edit the class manually.

ApiAttributeError

Bases: OpenApiException, AttributeError

Source code in cheshire_cat_api/exceptions.py
class ApiAttributeError(OpenApiException, AttributeError):
    def __init__(self, msg, path_to_item=None) -> None:
        """
        Raised when an attribute reference or assignment fails.

        Args:
            msg (str): the exception message

        Keyword Args:
            path_to_item (None/list) the path to the exception in the
                received_data dict
        """
        self.path_to_item = path_to_item
        full_msg = msg
        if path_to_item:
            full_msg = "{0} at {1}".format(msg, render_path(path_to_item))
        super(ApiAttributeError, self).__init__(full_msg)

__init__(msg, path_to_item=None)

Raised when an attribute reference or assignment fails.

Args: msg (str): the exception message

Keyword Args: path_to_item (None/list) the path to the exception in the received_data dict

Source code in cheshire_cat_api/exceptions.py
def __init__(self, msg, path_to_item=None) -> None:
    """
    Raised when an attribute reference or assignment fails.

    Args:
        msg (str): the exception message

    Keyword Args:
        path_to_item (None/list) the path to the exception in the
            received_data dict
    """
    self.path_to_item = path_to_item
    full_msg = msg
    if path_to_item:
        full_msg = "{0} at {1}".format(msg, render_path(path_to_item))
    super(ApiAttributeError, self).__init__(full_msg)

ApiException

Bases: OpenApiException

Source code in cheshire_cat_api/exceptions.py
class ApiException(OpenApiException):

    def __init__(self, status=None, reason=None, http_resp=None) -> None:
        if http_resp:
            self.status = http_resp.status
            self.reason = http_resp.reason
            self.body = http_resp.data.decode('utf-8')
            self.headers = http_resp.getheaders()
        else:
            self.status = status
            self.reason = reason
            self.body = None
            self.headers = None

    def __str__(self):
        """Custom error messages for exception"""
        error_message = "({0})\n"\
                        "Reason: {1}\n".format(self.status, self.reason)
        if self.headers:
            error_message += "HTTP response headers: {0}\n".format(
                self.headers)

        if self.body:
            error_message += "HTTP response body: {0}\n".format(self.body)

        return error_message

__str__()

Custom error messages for exception

Source code in cheshire_cat_api/exceptions.py
def __str__(self):
    """Custom error messages for exception"""
    error_message = "({0})\n"\
                    "Reason: {1}\n".format(self.status, self.reason)
    if self.headers:
        error_message += "HTTP response headers: {0}\n".format(
            self.headers)

    if self.body:
        error_message += "HTTP response body: {0}\n".format(self.body)

    return error_message

ApiKeyError

Bases: OpenApiException, KeyError

Source code in cheshire_cat_api/exceptions.py
class ApiKeyError(OpenApiException, KeyError):
    def __init__(self, msg, path_to_item=None) -> None:
        """
        Args:
            msg (str): the exception message

        Keyword Args:
            path_to_item (None/list) the path to the exception in the
                received_data dict
        """
        self.path_to_item = path_to_item
        full_msg = msg
        if path_to_item:
            full_msg = "{0} at {1}".format(msg, render_path(path_to_item))
        super(ApiKeyError, self).__init__(full_msg)

__init__(msg, path_to_item=None)

Args: msg (str): the exception message

Keyword Args: path_to_item (None/list) the path to the exception in the received_data dict

Source code in cheshire_cat_api/exceptions.py
def __init__(self, msg, path_to_item=None) -> None:
    """
    Args:
        msg (str): the exception message

    Keyword Args:
        path_to_item (None/list) the path to the exception in the
            received_data dict
    """
    self.path_to_item = path_to_item
    full_msg = msg
    if path_to_item:
        full_msg = "{0} at {1}".format(msg, render_path(path_to_item))
    super(ApiKeyError, self).__init__(full_msg)

ApiTypeError

Bases: OpenApiException, TypeError

Source code in cheshire_cat_api/exceptions.py
class ApiTypeError(OpenApiException, TypeError):
    def __init__(self, msg, path_to_item=None, valid_classes=None,
                 key_type=None) -> None:
        """ Raises an exception for TypeErrors

        Args:
            msg (str): the exception message

        Keyword Args:
            path_to_item (list): a list of keys an indices to get to the
                                 current_item
                                 None if unset
            valid_classes (tuple): the primitive classes that current item
                                   should be an instance of
                                   None if unset
            key_type (bool): False if our value is a value in a dict
                             True if it is a key in a dict
                             False if our item is an item in a list
                             None if unset
        """
        self.path_to_item = path_to_item
        self.valid_classes = valid_classes
        self.key_type = key_type
        full_msg = msg
        if path_to_item:
            full_msg = "{0} at {1}".format(msg, render_path(path_to_item))
        super(ApiTypeError, self).__init__(full_msg)

__init__(msg, path_to_item=None, valid_classes=None, key_type=None)

Raises an exception for TypeErrors

Args: msg (str): the exception message

Keyword Args: path_to_item (list): a list of keys an indices to get to the current_item None if unset valid_classes (tuple): the primitive classes that current item should be an instance of None if unset key_type (bool): False if our value is a value in a dict True if it is a key in a dict False if our item is an item in a list None if unset

Source code in cheshire_cat_api/exceptions.py
def __init__(self, msg, path_to_item=None, valid_classes=None,
             key_type=None) -> None:
    """ Raises an exception for TypeErrors

    Args:
        msg (str): the exception message

    Keyword Args:
        path_to_item (list): a list of keys an indices to get to the
                             current_item
                             None if unset
        valid_classes (tuple): the primitive classes that current item
                               should be an instance of
                               None if unset
        key_type (bool): False if our value is a value in a dict
                         True if it is a key in a dict
                         False if our item is an item in a list
                         None if unset
    """
    self.path_to_item = path_to_item
    self.valid_classes = valid_classes
    self.key_type = key_type
    full_msg = msg
    if path_to_item:
        full_msg = "{0} at {1}".format(msg, render_path(path_to_item))
    super(ApiTypeError, self).__init__(full_msg)

ApiValueError

Bases: OpenApiException, ValueError

Source code in cheshire_cat_api/exceptions.py
class ApiValueError(OpenApiException, ValueError):
    def __init__(self, msg, path_to_item=None) -> None:
        """
        Args:
            msg (str): the exception message

        Keyword Args:
            path_to_item (list) the path to the exception in the
                received_data dict. None if unset
        """

        self.path_to_item = path_to_item
        full_msg = msg
        if path_to_item:
            full_msg = "{0} at {1}".format(msg, render_path(path_to_item))
        super(ApiValueError, self).__init__(full_msg)

__init__(msg, path_to_item=None)

Args: msg (str): the exception message

Keyword Args: path_to_item (list) the path to the exception in the received_data dict. None if unset

Source code in cheshire_cat_api/exceptions.py
def __init__(self, msg, path_to_item=None) -> None:
    """
    Args:
        msg (str): the exception message

    Keyword Args:
        path_to_item (list) the path to the exception in the
            received_data dict. None if unset
    """

    self.path_to_item = path_to_item
    full_msg = msg
    if path_to_item:
        full_msg = "{0} at {1}".format(msg, render_path(path_to_item))
    super(ApiValueError, self).__init__(full_msg)

OpenApiException

Bases: Exception

The base exception class for all OpenAPIExceptions

Source code in cheshire_cat_api/exceptions.py
class OpenApiException(Exception):
    """The base exception class for all OpenAPIExceptions"""

render_path(path_to_item)

Returns a string representation of a path

Source code in cheshire_cat_api/exceptions.py
def render_path(path_to_item):
    """Returns a string representation of a path"""
    result = ""
    for pth in path_to_item:
        if isinstance(pth, int):
            result += "[{0}]".format(pth)
        else:
            result += "['{0}']".format(pth)
    return result