Files

2.1 KiB

Bugfix: _DOCTR_AVAILABLE Non Défini

Date: 2 mars 2026
Commit: d103cb2

Problème

Erreur name '_DOCTR_AVAILABLE' is not defined sur ~15 documents ANAPATH scannés lors de la validation du corpus complet.

Cause Racine

La variable _DOCTR_AVAILABLE était définie dans le mauvais bloc except :

# AVANT (incorrect)
try:
    from doctr.models import ocr_predictor as _doctr_ocr_predictor
    _DOCTR_AVAILABLE = True
except Exception:
    _doctr_ocr_predictor = None  # ❌ _DOCTR_AVAILABLE manquant ici

try:
    from detectors.hospital_filter import HospitalFilter
    _HOSPITAL_FILTER_AVAILABLE = True
except Exception:
    _HOSPITAL_FILTER_AVAILABLE = False
    HospitalFilter = None
    _DOCTR_AVAILABLE = False  # ❌ Mauvais endroit !

Problème: Si l'import doctr réussit mais que hospital_filter échoue, _DOCTR_AVAILABLE était redéfini à False. Si hospital_filter réussit, _DOCTR_AVAILABLE n'était jamais défini en cas d'échec de doctr.

Solution

Déplacer _DOCTR_AVAILABLE = False dans le bon bloc except :

# APRÈS (correct)
try:
    from doctr.models import ocr_predictor as _doctr_ocr_predictor
    _DOCTR_AVAILABLE = True
except Exception:
    _doctr_ocr_predictor = None
    _DOCTR_AVAILABLE = False  # ✅ Bon endroit !

try:
    from detectors.hospital_filter import HospitalFilter
    _HOSPITAL_FILTER_AVAILABLE = True
except Exception:
    _HOSPITAL_FILTER_AVAILABLE = False
    HospitalFilter = None  # ✅ Plus de _DOCTR_AVAILABLE ici

Tests

Testé sur 2 documents qui échouaient :

  • 338_23073425/anapath 338_23073425.pdf : Succès
  • 19_23103383/ANAPATH 23103383.pdf : Succès (0 PII, document vide)

Impact

  • Documents affectés: ~15 ANAPATH scannés
  • Taux de succès: Passe de ~93% à ~95% sur le corpus complet
  • Aucun impact sur la qualité: Les documents échouaient avant traitement

Fichiers Modifiés

  • anonymizer_core_refactored_onnx.py (ligne 51-58)

Validation

Le bug est corrigé et testé. La validation du corpus complet continue avec le code corrigé (89% complété au moment du commit).