Code source de 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


[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 f"Certaines clés de configuration sont manquantes: {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 f"Aucun capteur de type {self.sensor_name} trouvé pour le 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 f"La configuration du navire {self.vessel_id} n'existe pas."
[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 f"Le type de gestionnaire de navire '{self.manager_type}' n'existe pas."
[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 f"La configuration du capteur {self.sensor_type} a changé durant la période de temps couverte par les données."