Source code for vessel.exception_vessel

"""
Exceptions spécifiques à l'application Vessel.

Ce module contient les exceptions spécifiques à l'application Vessel.
"""

from dataclasses import dataclass
from datetime import datetime
from typing import Optional

import i18n


[docs] @dataclass(frozen=True) class MissingConfigKeyError(Exception): """ Exception levée lorsqu'une clé de configuration est manquante. :param missing_keys: Les clés manquantes. :type missing_keys: list[str] """ missing_keys: list[str] """Les clés manquantes.""" def __str__(self) -> str: return i18n.t( "vessel.exception_vessel.missing_config_key", missing_keys=self.missing_keys )
[docs] @dataclass(frozen=True) # class SensorNotFoundError(Exception): """ Exception levée lorsqu'un capteur n'est pas trouvé. :param sensor_name: Le nom du capteur. :type sensor_name: str :param timestamp: Le timestamp. :type timestamp: datetime """ sensor_name: str """Le type du capteur.""" timestamp: datetime """Le timestamp.""" def __str__(self) -> str: return i18n.t( "vessel.exception_vessel.sensor_not_found", sensor_name=self.sensor_name, timestamp=self.timestamp, )
[docs] @dataclass(frozen=True) class VesselConfigNotFoundError(Exception): """ Exception levée lorsqu'une configuration de navire n'est pas trouvée. :param vessel_id: L'identifiant du navire. :type vessel_id: str """ vessel_id: str """L'identifiant du navire.""" def __str__(self) -> str: return i18n.t( "vessel.exception_vessel.vessel_config_not_found", vessel_id=self.vessel_id )
[docs] @dataclass(frozen=True) class VesselConfigManagerIdentifierError(Exception): """ Exception levée lorsqu'une erreur survient lors de l'identification du gestionnaire de configuration de navires. :param manager_type: Le type de gestionnaire de navire. :type manager_type: str """ manager_type: str """Le type de gestionnaire de navire.""" def __str__(self) -> str: return i18n.t( "vessel.exception_vessel.manager_type_not_found", manager_type=self.manager_type, )
[docs] @dataclass(frozen=True) class SensorConfigurationError(Exception): """ Exception levée lorsque la configuration du capteur change durant la période de temps couverte par les données. """ sensor_type: str """Le type de capteur.""" def __str__(self) -> str: return i18n.t( "vessel.exception_vessel.sensor_config_changed", sensor_type=self.sensor_type, )
[docs] @dataclass(frozen=True) class VesselConfigManagerError(Exception): """ Exception levée lorsque la configuration du gestionnaire de navires est manquante pour récupérer la configuration du navire. :param vessel_id: L'identifiant du navire. :type vessel_id: str :param vessel_config_manager: La configuration du gestionnaire de navires. :type vessel_config_manager: Optional[VesselManagerConfig] """ vessel_id: str """L'identifiant du navire.""" vessel_config_manager: Optional[object] """La configuration du gestionnaire de navires.""" def __str__(self) -> str: return i18n.t( "vessel.exception_vessel.manager_config_missing", vessel_config_manager=self.vessel_config_manager, vessel_id=self.vessel_id, )