dilicom_parser.parser package

Subpackages

Submodules

dilicom_parser.parser.distributor_parser module

Module de parsing des fichiers distributeurs Dilicom.

class dilicom_parser.parser.distributor_parser.DistributorParser(distributor_list)

Bases : object

Classe de service pour le parsing des fichiers reçus de Dilicom. Cette classe est responsable de :

  • Lire les fichiers depuis un répertoire spécifié.

  • Déterminer le type de fichier en fonction de son en-tête.

  • Extraire les données pertinentes en fonction du type de fichier.

  • Stocker les données extraites dans des structures de données appropriées.

Attributs :
  • directory : Path - Le répertoire où les fichiers sont stockés.

  • data : Optional[pd.DataFrame] - Les données extraites du fichier.

  • file_path : Optional[Path] - Le chemin complet du fichier en cours de traitement.

  • filename : str - Le nom du fichier en cours de traitement.

  • distributor_data : Optional[DistributorData] - Les données du distributeur extraites.

Méthodes :
  • __init__() : Initialise les attributs de la classe et crée le répertoire s’il n’existe pas

  • parse()Parse les fichiers de type “distributor” et extrait les données

    (combine _transform_data_to_dataframe() et _df_to_distributor_data()).

  • _transform_data_to_dataframe() : transforme la donnée texte en un DataFrame pandas.

  • _df_to_distributor_data() : Convertit un DataFrame en une instance de DistributorData.

parse()

Parse les fichiers de type “distributor” et extrait les données.

Paramètres:

None

Renvoie:

Liste des données parsées

Type renvoyé:

list[DistributorData]

dilicom_parser.parser.service_parser module

Module de parsing des fichiers de messages de service Dilicom.

class dilicom_parser.parser.service_parser.ServiceParser(file_contents)

Bases : object

Parseur pour les fichiers de messages de service (ATE/ALE/ANE/AST). - Traite une liste de FileContent et détecte automatiquement le format (GENCOD/EANCOM). - Les messages GENCOD sont retournés dans une liste de GencodServiceMessage. - Les messages EANCOM sont retournés dans une instance d’EancomInterchange.

  • ATE : Accusé de réception technique

  • ALE : Accusé de réception logistique

  • ANE : Accusé de réception d’erreur

  • AST : Accusé de réception de statut

Supporte les formats : - GENCOD (CNUT 05003) : fichiers à plat séparés par “;” - EANCOM D96A (APERAK) : fichiers EDIFACT

parse()

Parse la liste de FileContent.

Traite chaque FileContent en détectant son format et en utilisant le parseur approprié (GENCOD ou EANCOM).

Type renvoyé:

List[List[GencodServiceMessage] | EancomInterchange]

Renvoie:

Liste contenant les résultats du parsing. - List[GencodServiceMessage] pour les fichiers GENCOD - EancomInterchange pour les fichiers EANCOM

Lève:

ValueError – Si la liste de FileContent est vide

Module contents

Modules de modèles de données pour le parser Dilicom. Ce module regroupe les classes de modèles de données utilisées pour représenter les différentes entités et structures de données rencontrées lors du parsing des fichiers Dilicom, tels que les messages de service, les données de distributeurs, etc.