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 : UserWarning

Avertissement 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 : object

Registre 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é:

ParsersRegistry

Renvoie:

Instance ParsersRegistry