2.1 KiB
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ès19_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).