Update app.py

This commit is contained in:
Nacim
2025-06-23 14:52:52 +02:00
committed by GitHub
parent 415b087058
commit 7c6fe143aa

15
app.py
View File

@@ -6,8 +6,8 @@ from flask import Flask, request, jsonify, make_response
# Import des classes nécessaires de Presidio # Import des classes nécessaires de Presidio
from presidio_analyzer import AnalyzerEngine, RecognizerRegistry, PatternRecognizer, Pattern from presidio_analyzer import AnalyzerEngine, RecognizerRegistry, PatternRecognizer, Pattern
from presidio_analyzer.nlp_engine import NlpEngineProvider from presidio_analyzer.nlp_engine import NlpEngineProvider
from presidio_analyzer.recognizer_registry.recognizer_registry import RecognizerRegistry # --- CORRECTION DE L'IMPORT ICI ---
from presidio_analyzer.recognizer_registry.deny_list_recognizer import DenyListRecognizer from presidio_analyzer.predefined_recognizers import DenyListRecognizer
# Configuration du logging # Configuration du logging
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(name)s - %(levelname)s - %(message)s') logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(name)s - %(levelname)s - %(message)s')
@@ -43,7 +43,6 @@ custom_recognizers_conf = config.get("recognizers", [])
for recognizer_conf in custom_recognizers_conf: for recognizer_conf in custom_recognizers_conf:
patterns = [Pattern(name=p['name'], regex=p['regex'], score=p['score']) for p in recognizer_conf['patterns']] patterns = [Pattern(name=p['name'], regex=p['regex'], score=p['score']) for p in recognizer_conf['patterns']]
# On crée une instance de PatternRecognizer
custom_recognizer = PatternRecognizer( custom_recognizer = PatternRecognizer(
supported_entity=recognizer_conf['entity_name'], supported_entity=recognizer_conf['entity_name'],
name=recognizer_conf['name'], name=recognizer_conf['name'],
@@ -52,8 +51,6 @@ for recognizer_conf in custom_recognizers_conf:
context=recognizer_conf.get('context') context=recognizer_conf.get('context')
) )
# --- CORRECTION DE LA LIGNE D'ERREUR ---
# La méthode correcte est 'add_recognizer', pas 'add_pattern_recognizer'
registry.add_recognizer(custom_recognizer) registry.add_recognizer(custom_recognizer)
logger.info(f"Loaded custom recognizer: {custom_recognizer.name}") logger.info(f"Loaded custom recognizer: {custom_recognizer.name}")
@@ -68,7 +65,7 @@ if allow_list_terms:
# Initialisation de l'application Flask # Initialisation de l'application Flask
app = Flask(__name__) app = Flask(__name__)
# Initialisation du moteur Presidio Analyzer avec nos composants créés # Initialisation du moteur Presidio Analyzer
logger.info("Initializing AnalyzerEngine with custom configuration...") logger.info("Initializing AnalyzerEngine with custom configuration...")
analyzer = AnalyzerEngine( analyzer = AnalyzerEngine(
nlp_engine=nlp_engine, nlp_engine=nlp_engine,
@@ -88,7 +85,11 @@ def analyze_text():
if not text_to_analyze: if not text_to_analyze:
return jsonify({"error": "text field is missing or empty"}), 400 return jsonify({"error": "text field is missing or empty"}), 400
results = analyzer.analyze(text=text_to_analyze, language=language) results = analyzer.analyze(
text=text_to_analyze,
language=language
)
response_data = [res.to_dict() for res in results] response_data = [res.to_dict() for res in results]
return make_response(jsonify(response_data), 200) return make_response(jsonify(response_data), 200)
except Exception as e: except Exception as e: