From bf92a0ce3eae4bf2c50c3c8ae3d4c0f2ea175510 Mon Sep 17 00:00:00 2001 From: dom Date: Thu, 12 Feb 2026 14:48:08 +0100 Subject: [PATCH] =?UTF-8?q?feat:=20auto-d=C3=A9tection=20du=20fichier=20Ex?= =?UTF-8?q?cel=20CPAM=20dans=20input/Control=5Fcpam/?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plus besoin du flag --control-cpam : si un .xlsx est présent dans input/Control_cpam/, il est chargé automatiquement. Le flag reste disponible comme override. Co-Authored-By: Claude Opus 4.6 --- src/main.py | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/src/main.py b/src/main.py index 0ec7fd6..ebbd420 100644 --- a/src/main.py +++ b/src/main.py @@ -10,7 +10,7 @@ import time from pathlib import Path from .anonymization.anonymizer import Anonymizer -from .config import ANONYMIZED_DIR, OUTPUT_DIR, REPORTS_DIR, STRUCTURED_DIR, AnonymizationReport, DossierMedical +from .config import ANONYMIZED_DIR, INPUT_DIR, OUTPUT_DIR, REPORTS_DIR, STRUCTURED_DIR, AnonymizationReport, DossierMedical from .extraction.document_classifier import classify from .extraction.crh_parser import parse_crh from .extraction.document_splitter import split_documents @@ -261,13 +261,22 @@ def main(input_path: str | None = None) -> None: export_rum_flag = args.export_rum - # Chargement contrôle CPAM + # Chargement contrôle CPAM (auto-détection ou flag explicite) cpam_data = None - if args.control_cpam: + cpam_path = args.control_cpam + if not cpam_path: + # Auto-détection : chercher un .xlsx dans input/Control_cpam/ + cpam_dir = INPUT_DIR / "Control_cpam" + if cpam_dir.is_dir(): + xlsx_files = sorted(cpam_dir.glob("*.xlsx")) + if xlsx_files: + cpam_path = str(xlsx_files[0]) + logger.info("CPAM : fichier détecté automatiquement → %s", cpam_path) + if cpam_path: from .control.cpam_parser import parse_cpam_excel - cpam_data = parse_cpam_excel(args.control_cpam) + cpam_data = parse_cpam_excel(cpam_path) if not cpam_data: - logger.warning("Aucun contrôle CPAM chargé depuis %s", args.control_cpam) + logger.warning("Aucun contrôle CPAM chargé depuis %s", cpam_path) input_paths = args.input