Module fl_server_ai.exceptions¶
View Source
# SPDX-FileCopyrightText: 2024 Benedikt Franke <benedikt.franke@dlr.de>
# SPDX-FileCopyrightText: 2024 Florian Heinrich <florian.heinrich@dlr.de>
#
# SPDX-License-Identifier: Apache-2.0
from requests import Response
from typing import Any, Optional
class AggregationException(Exception):
    """
    Exception raised for errors in the aggregation process.
    This is a custom exception class that should be raised when there is an error during the aggregation process.
    """
    pass
class NotificationException(Exception):
    """
    Exception raised for errors in the notification process.
    This is a custom exception class that should be raised when there is an error during the notification process.
    """
    def __init__(
        self,
        endpoint_url: str,
        json_data: Any,
        max_retries: int,
        return_obj: Any = None,
        inner_exception: Optional[Exception] = None,
        *args,
        **kwargs
    ):
        super().__init__(*args, **kwargs)
        self.endpoint_url = endpoint_url
        """The URL of the endpoint that the notification was sent to."""
        self.json_data = json_data
        """The JSON data that was sent in the notification."""
        self.max_retries = max_retries
        """The maximum number of times to retry the notification."""
        self.notification_return_object = return_obj
        """The object to return if the notification fails."""
        self.inner_exception = inner_exception
        """The original exception that caused the notification error."""
class ClientNotificationRejectionException(NotificationException):
    """
    Exception raised when a client rejects a notification.
    This is a custom exception class that should be raised when a client rejects a notification.
    It inherits from NotificationException and adds additional attributes related to the client's response.
    """
    def __init__(self, response: Response, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.response = response
        """The client's response to the notification."""
        self.status_code = response.status_code
        """The HTTP status code of the client's response."""
Classes¶
AggregationException¶
Exception raised for errors in the aggregation process.
This is a custom exception class that should be raised when there is an error during the aggregation process.
View Source
Ancestors (in MRO)¶
- builtins.Exception
 - builtins.BaseException
 
Class variables¶
Methods¶
with_traceback¶
Exception.with_traceback(tb) --
set self.traceback to tb and return self.
ClientNotificationRejectionException¶
Exception raised when a client rejects a notification.
This is a custom exception class that should be raised when a client rejects a notification. It inherits from NotificationException and adds additional attributes related to the client's response.
View Source
class ClientNotificationRejectionException(NotificationException):
    """
    Exception raised when a client rejects a notification.
    This is a custom exception class that should be raised when a client rejects a notification.
    It inherits from NotificationException and adds additional attributes related to the client's response.
    """
    def __init__(self, response: Response, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.response = response
        """The client's response to the notification."""
        self.status_code = response.status_code
        """The HTTP status code of the client's response."""
Ancestors (in MRO)¶
- fl_server_ai.exceptions.NotificationException
 - builtins.Exception
 - builtins.BaseException
 
Class variables¶
Methods¶
with_traceback¶
Exception.with_traceback(tb) --
set self.traceback to tb and return self.
NotificationException¶
class NotificationException(
    endpoint_url: str,
    json_data: Any,
    max_retries: int,
    return_obj: Any = None,
    inner_exception: Optional[Exception] = None,
    *args,
    **kwargs
)
Exception raised for errors in the notification process.
This is a custom exception class that should be raised when there is an error during the notification process.
View Source
class NotificationException(Exception):
    """
    Exception raised for errors in the notification process.
    This is a custom exception class that should be raised when there is an error during the notification process.
    """
    def __init__(
        self,
        endpoint_url: str,
        json_data: Any,
        max_retries: int,
        return_obj: Any = None,
        inner_exception: Optional[Exception] = None,
        *args,
        **kwargs
    ):
        super().__init__(*args, **kwargs)
        self.endpoint_url = endpoint_url
        """The URL of the endpoint that the notification was sent to."""
        self.json_data = json_data
        """The JSON data that was sent in the notification."""
        self.max_retries = max_retries
        """The maximum number of times to retry the notification."""
        self.notification_return_object = return_obj
        """The object to return if the notification fails."""
        self.inner_exception = inner_exception
        """The original exception that caused the notification error."""
Ancestors (in MRO)¶
- builtins.Exception
 - builtins.BaseException
 
Descendants¶
- fl_server_ai.exceptions.ClientNotificationRejectionException
 
Class variables¶
Methods¶
with_traceback¶
Exception.with_traceback(tb) --
set self.traceback to tb and return self.