mirror of
https://github.com/Ladebeze66/odoo_toolkit.git
synced 2025-12-13 10:46:52 +01:00
39 lines
1.6 KiB
Python
39 lines
1.6 KiB
Python
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 |