Actualiser app.py

This commit is contained in:
2025-08-05 09:00:08 +00:00
parent 63cc87b8df
commit 5f8c512099

20
app.py
View File

@@ -11,7 +11,8 @@ logger = logging.getLogger(__name__)
app = Flask(__name__)
# Chargement du moteur Presidio via Provider
# Chargement du moteur
analyzer = None
try:
logger.info("--- Presidio Analyzer Service Starting ---")
@@ -23,16 +24,19 @@ except Exception as e:
logger.exception("Error during AnalyzerEngine initialization.")
analyzer = None
# Regex strict pour IBAN belge format attendu
# Test Temporaire pour les Regex via du Python directement
IBAN_REGEX = re.compile(r"\b[A-Z]{2}[0-9]{2}(?:\s[0-9]{4}){3}\b", re.IGNORECASE)
# Regex IPv4
IPV4_REGEX = re.compile(
r"\b(?:(?:25[0-5]|2[0-4][0-9]|1\d{2}|[1-9]?\d)\.){3}"
r"(?:25[0-5]|2[0-4][0-9]|1\d{2}|[1-9]?\d)\b"
)
# Liste des labels/phrases à exclure danonymisation (en minuscules)
# Liste Temporaire en surcouche des labels/phrases à exclure danonymisation
IGNORE_LABELS = {
"témoins",
"témoins clés",
@@ -74,7 +78,8 @@ def analyze_text():
logger.debug(f"Skipping anonymization of label: '{ent_text}'")
continue
# Recadrage IBAN strict
# Recadrage IBAN
if res.entity_type == "IBAN":
match = IBAN_REGEX.search(ent_text)
if match:
@@ -91,7 +96,8 @@ def analyze_text():
logger.warning(f"Invalid IBAN detected, skipping: '{ent_text}'")
continue
# Recadrage IP_ADDRESS strict IPv4 (wildcard possible pour IPv6 si besoin)
# Recadrage IP_ADDRESS
if res.entity_type == "IP_ADDRESS":
match = IPV4_REGEX.search(ent_text)
if match:
@@ -110,7 +116,7 @@ def analyze_text():
filtered_results.append(res)
# Retourner le résultat nettoyé
# Résultat nettoyé
response_data = [res.to_dict() for res in filtered_results]
return make_response(jsonify(response_data), 200)