dilicom_parser.utils package¶
Submodules¶
dilicom_parser.utils.alignment module¶
Module d’alignement des données pour les dataclasses du distributeur
- dilicom_parser.utils.alignment.fix_alignment(row, expected_len)¶
Ajuste l’alignement d’une ligne de données en fonction de la longueur attendue. Si la ligne a plus de valeurs que prévu, les valeurs excédentaires sont ignorées. Si la ligne a moins de valeurs que prévu, des valeurs None sont ajoutées pour compléter la ligne
Args: - row: La ligne de données à ajuster (pandas Series ou liste). - expected_len: La longueur attendue de la ligne après ajustement. Returns: - La ligne de données ajustée avec la longueur attendue.
- Type renvoyé:
List[Any]
dilicom_parser.utils.exceptions module¶
Exceptions et avertissements du parseur Dilicom.
- exception dilicom_parser.utils.exceptions.SegmentInconnuWarning¶
Bases :
UserWarningAvertissement levé lorsqu’un segment ou un qualificatif inattendu est rencontré pendant le parsing.
Ce warning ne bloque pas le parsing : les données connues sont extraites normalement, le segment ou la valeur inconnue est ignoré(e). Il permet néanmoins à l’appelant d’être alerté d’une dérive éventuelle du format.
Utilisation typique :
import warnings from dilicom_parser.utils.exceptions import SegmentInconnuWarning
# Transformer le warning en erreur (mode strict) : warnings.filterwarnings(« error », category=SegmentInconnuWarning)
# Rediriger vers le système de logging : logging.captureWarnings(True)
Module contents¶
Utilitaires du package dilicom_parser.
- class dilicom_parser.utils.ParsersRegistry(config_path=None)¶
Bases :
objectRegistre centralisé pour accéder aux parsers du package.
- get_config(type_name)¶
Récupère la configuration pour un type.
- Paramètres:
type_name (
str) – Nom du type- Type renvoyé:
ParserConfig- Renvoie:
Configuration du type
- Lève:
KeyError – Si le type n’existe pas
- get_header_start()¶
Liste le contenu de l’en-tête pour tous les types disponibles.
- Type renvoyé:
list[str]- Renvoie:
Contenu de l’en-tête pour tous les types
- get_headers_and_types()¶
Retourne un dictionnaire {header_content: type_name} pour tous les types configurés.
- Type renvoyé:
dict[str,str]- Renvoie:
Dictionnaire mappant le contenu d’en-tête au nom du type
- get_module(type_name)¶
Récupère le module de parser complet.
- Paramètres:
type_name (
str) – Nom du type- Type renvoyé:
Any- Renvoie:
Module importé
- Lève:
ImportError – Si le module ne peut pas être importé
- get_parser(type_name)¶
Récupère le callable de parsing pour un type donné.
- Paramètres:
type_name (
str) – Nom du type (ex : « distributor », « eancom »)- Type renvoyé:
Callable[...,Any]- Renvoie:
Fonction ou classe de parsing
- Lève:
KeyError – Si le type n’existe pas dans la configuration
ImportError – Si le module ou le callable ne peut pas être importé
- list_types()¶
Liste tous les types disponibles.
- Type renvoyé:
list[str]
- dilicom_parser.utils.get_registry()¶
Retourne l’instance globale du registre (singleton).
- Type renvoyé:
- Renvoie:
Instance ParsersRegistry