Source code for ingestion.parsing_exception

"""
Module pour définir les exceptions du parsing.
"""

from dataclasses import dataclass
from pathlib import Path
from typing import Type

import i18n


[docs] @dataclass(frozen=True) class ParsingError(Exception): """ Classe de base pour les exceptions de parsing. :param file: (Path) Le fichier en cours de lecture. :param column: (str) Le nom de la colonne en erreur. """ file: Path """Le ficher en erreur.""" column: str """Le nom de la colonne en erreur.""" def __str__(self) -> str: return i18n.t( "ingestion.parsing_exception.error_missing_column", file=self.file, column=self.column, )
[docs] @dataclass(frozen=True) class ParsingDataframeTimeError(ParsingError): """ Exception pour les erreurs de parsing de la colonne de temps. """ pass
[docs] @dataclass(frozen=True) class ParsingDataframeDepthError(ParsingError): """ Exception pour les erreurs de parsing de la colonne de profondeur. """ pass
[docs] @dataclass(frozen=True) class ParsingDataframeLongitudeError(ParsingError): """ Exception pour les erreurs de parsing de la colonne de longitude """ pass
[docs] @dataclass(frozen=True) class ParsingDataframeLatitudeError(ParsingError): """ Exception pour les erreurs de parsing de la colonne de latitude. """ pass
[docs] @dataclass(frozen=True) class ColumnException: """ Classe pour les exceptions de colonnes. :param column_name: (str) Le nom de la colonne. :param error: (Type[ParsingError]) L'erreur de parsing associée. """ column_name: str """Le nom de la colonne.""" error: Type[ParsingError] """L'erreur de parsing associée."""