llm_ticket3/core/tests/test_clean_html.py
2025-04-09 13:36:42 +02:00

61 lines
3.3 KiB
Python

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Script de test pour comprendre le filtrage de clean_html.py
"""
from formatters.clean_html import pre_clean_html, clean_html
def test_verbose_clean():
html = """<p>Bonjour,<br>Le problème de passant qui remonte à 100% sur le dernier tamis est corrigé lors de la mise à jour disponible depuis ce matin.<br>Je reste à votre disposition pour toute explication ou demande supplémentaire.<br>L'objectif du Support Technique est de vous aider : n'hésitez jamais à nous contacter si vous rencontrez une difficulté, ou pour nous soumettre une ou des suggestions d'amélioration de nos logiciels ou de nos méthodes.<br>Cordialement.<br><br>Support Technique - CBAO<br><a target=\"_blank\" href=\"http://www.cbao.fr\">www.cbao.fr</a><br>80 rue Louis Braille<br>66000 PERPIGNAN<br>support@cbao.fr<br>Tél : 04 68 64 15 31<br>Fax : 04 68 64 31 69</p>"""
print("ANALYSE DU NETTOYAGE HTML AVEC PRE_CLEAN_HTML:")
# Nettoyage préliminaire
cleaned_content = pre_clean_html(html)
print("\nContenu après pre_clean_html:")
print("-" * 50)
print(cleaned_content)
print("-" * 50)
# Test avec la fonction clean_html complète
print("\n\nANALYSE DU NETTOYAGE HTML AVEC CLEAN_HTML COMPLET:")
full_cleaned = clean_html(html)
print("\nContenu après clean_html complet:")
print("-" * 50)
print(full_cleaned)
print("-" * 50)
# Vérifions si une des lignes de coordonnées est présente dans le résultat final
coordonnees = ["80 rue Louis Braille", "66000 PERPIGNAN", "support@cbao.fr", "Tél :", "Fax :"]
for coord in coordonnees:
if coord in full_cleaned:
print(f"TROUVÉ: '{coord}' est présent dans le résultat final de clean_html")
else:
print(f"MANQUANT: '{coord}' n'est PAS présent dans le résultat final de clean_html")
# Test avec le message body_original exact du fichier all_messages.json
body_original = "<p>Bonjour,<br>Le problème de passant qui remonte à 100% sur le dernier tamis est corrigé lors de la mise à jour disponible depuis ce matin.<br>Je reste à votre disposition pour toute explication ou demande supplémentaire.<br>L'objectif du Support Technique est de vous aider : n'hésitez jamais à nous contacter si vous rencontrez une difficulté, ou pour nous soumettre une ou des suggestions d'amélioration de nos logiciels ou de nos méthodes.<br>Cordialement.<br><br>Support Technique - CBAO<br><a target=\"_blank\" href=\"http://www.cbao.fr\">www.cbao.fr</a><br>80 rue Louis Braille<br>66000 PERPIGNAN<br>support@cbao.fr<br>Tél : 04 68 64 15 31<br>Fax : 04 68 64 31 69</p>"
print("\n\nTEST AVEC LE BODY_ORIGINAL EXACT:")
real_cleaned = clean_html(body_original)
print("\nContenu après clean_html avec body_original exact:")
print("-" * 50)
print(real_cleaned)
print("-" * 50)
# Vérifier si le contenu du corps est égal à "Contenu non extractible"
if real_cleaned == "*Contenu non extractible*":
print("\n⚠️ PROBLÈME DÉTECTÉ: le résultat est 'Contenu non extractible' ⚠️")
else:
print("\nLe résultat n'est pas 'Contenu non extractible'")
return {
"pre_cleaned": cleaned_content,
"full_cleaned": full_cleaned,
"real_cleaned": real_cleaned
}
if __name__ == "__main__":
test_verbose_clean()