import re import html from bs4 import BeautifulSoup def clean_html(content): """Nettoie le contenu HTML en supprimant les balises.""" if not content: return "" soup = BeautifulSoup(content, 'html.parser') return soup.get_text(separator='\n', strip=True) def filter_ticket_data(ticket_data): """Filtre les données d'un ticket pour ne garder que les informations essentielles.""" # Créer un nouveau dictionnaire pour le ticket filtré filtered_ticket = { "ID du Ticket": ticket_data["ID du Ticket"], "Nom": ticket_data["Nom"], "Code": ticket_data.get("Code", "N/A"), "Date Limite": ticket_data["Date Limite"], "Champs Simples": ticket_data["Champs Simples"], # Conserver tous les champs simples "Champs Relationnels": ticket_data["Champs Relationnels"], # Conserver tous les champs relationnels "Discussions": [] # Initialiser la liste des discussions } # Nettoyer le champ description dans Champs Simples if "description" in filtered_ticket["Champs Simples"]: filtered_ticket["Champs Simples"]["description"] = clean_html(filtered_ticket["Champs Simples"]["description"]) # Garder uniquement les discussions nécessaires for msg in ticket_data["Discussions"]: filtered_ticket["Discussions"].append({ "ID Message": msg["ID Message"], "Sujet": msg["Sujet"], "Contenu": clean_html(msg["Contenu"]), # Nettoyage du contenu HTML "Auteur": msg["Auteur"], "Date": msg["Date"] }) return filtered_ticket