dilicom_parser package¶
Subpackages¶
- dilicom_parser.models package
- Submodules
- dilicom_parser.models.connector module
- dilicom_parser.models.distributor module
DistributorDataDistributorDataBloc1DistributorDataBloc1.adherent_prismeDistributorDataBloc1.adresse_l1DistributorDataBloc1.adresse_l2DistributorDataBloc1.adresse_l3DistributorDataBloc1.code_postalDistributorDataBloc1.emailDistributorDataBloc1.fonctionDistributorDataBloc1.glnDistributorDataBloc1.gln_repreneurDistributorDataBloc1.mvtDistributorDataBloc1.num_faxDistributorDataBloc1.num_telDistributorDataBloc1.num_tva_intracomDistributorDataBloc1.numero_voieDistributorDataBloc1.paysDistributorDataBloc1.refDistributorDataBloc1.rejet_postalDistributorDataBloc1.rs1DistributorDataBloc1.rs2DistributorDataBloc1.rs_repreneurDistributorDataBloc1.siren_or_siretDistributorDataBloc1.villeDistributorDataBloc1.website
DistributorDataBloc2DistributorDataBloc3DistributorDataBloc3.avis_exp_v1DistributorDataBloc3.avis_exp_v2DistributorDataBloc3.centralisation_paiementsDistributorDataBloc3.commandeDistributorDataBloc3.demat_facture_fiscaleDistributorDataBloc3.facture_electroniqueDistributorDataBloc3.fiche_produitDistributorDataBloc3.journal_mvtDistributorDataBloc3.propo_commandesDistributorDataBloc3.reclamationDistributorDataBloc3.reponse_commandesDistributorDataBloc3.retour_accord_fournisseurDistributorDataBloc3.retour_avisDistributorDataBloc3.retour_dde_autorisation
DistributorLineDataFileDistri
- dilicom_parser.models.service module
EancomErreurEancomInterchangeEancomInterchange.date_preparationEancomInterchange.gln_destinataireEancomInterchange.gln_emetteurEancomInterchange.heure_preparationEancomInterchange.messagesEancomInterchange.nombre_messagesEancomInterchange.reference_interchangeEancomInterchange.syntaxe_idEancomInterchange.syntaxe_version
EancomNADEancomServiceMessageEancomServiceMessage.agenceEancomServiceMessage.date_creationEancomServiceMessage.date_lectureEancomServiceMessage.date_preparationEancomServiceMessage.date_traitementEancomServiceMessage.erreurEancomServiceMessage.format_date_creationEancomServiceMessage.format_date_lectureEancomServiceMessage.format_date_traitementEancomServiceMessage.gln_destinataireEancomServiceMessage.gln_emetteurEancomServiceMessage.heure_preparationEancomServiceMessage.identification_documentEancomServiceMessage.is_aleEancomServiceMessage.is_ateEancomServiceMessage.is_erreurEancomServiceMessage.nombre_segmentsEancomServiceMessage.partiesEancomServiceMessage.reference_acquitteeEancomServiceMessage.reference_interchangeEancomServiceMessage.reference_messageEancomServiceMessage.revisionEancomServiceMessage.syntaxe_idEancomServiceMessage.syntaxe_versionEancomServiceMessage.type_acquittementEancomServiceMessage.type_messageEancomServiceMessage.versionEancomServiceMessage.version_gs1
GencodCommentaireAleAteGencodCommentaireAleAte.cnut_message_origineGencodCommentaireAleAte.date_envoiGencodCommentaireAleAte.date_lectureGencodCommentaireAleAte.date_traitementGencodCommentaireAleAte.gln_destinataireGencodCommentaireAleAte.gln_emetteur_origineGencodCommentaireAleAte.heure_lectureGencodCommentaireAleAte.heure_traitementGencodCommentaireAleAte.numero_envoiGencodCommentaireAleAte.reference_cnut
GencodCommentaireErreurGencodCommentaireErreur.cnut_message_origineGencodCommentaireErreur.code_erreurGencodCommentaireErreur.date_envoiGencodCommentaireErreur.gln_destinataireGencodCommentaireErreur.gln_emetteur_origineGencodCommentaireErreur.libelle_erreurGencodCommentaireErreur.numero_envoiGencodCommentaireErreur.numero_ligne_erreurGencodCommentaireErreur.position_erreurGencodCommentaireErreur.reference_cnutGencodCommentaireErreur.zone_erreur
GencodServiceMessageGencodServiceMessage.cnutGencodServiceMessage.commentairesGencodServiceMessage.date_emissionGencodServiceMessage.gln_destinataireGencodServiceMessage.gln_emetteurGencodServiceMessage.identificateur_reseauGencodServiceMessage.is_aleGencodServiceMessage.is_ateGencodServiceMessage.is_erreurGencodServiceMessage.nombre_rubriquesGencodServiceMessage.type_message
OrigineMessageTypeServiceMessageType
- Module contents
- dilicom_parser.parser package
- dilicom_parser.transport package
- dilicom_parser.utils package
Module contents¶
dilicom_parser¶
Package racine exposant les principaux symboles publics.
Il expose ici les classes utilitaires fréquemment importées par les
utilisateurs et les tests (ex: DistributorParser).
- class dilicom_parser.DistributorParser(distributor_list)¶
Bases :
objectClasse 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]
- class dilicom_parser.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.get_registry()¶
Retourne l’instance globale du registre (singleton).
- Type renvoyé:
- Renvoie:
Instance ParsersRegistry