mirror of
https://github.com/Ladebeze66/odoo_toolkit.git
synced 2025-12-16 02:37:49 +01:00
39 lines
1.4 KiB
Python
39 lines
1.4 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."""
|
|
|
|
# Vérifier que ticket_data est bien une liste et extraire le premier élément
|
|
if isinstance(ticket_data, list) and len(ticket_data) > 0:
|
|
ticket_data = ticket_data[0]
|
|
else:
|
|
return {"Erreur": "Format de ticket invalide"}
|
|
|
|
filtered_ticket = {
|
|
"ID du Ticket": ticket_data.get("id", "ID non disponible"),
|
|
"Nom": ticket_data.get("name", "Nom inconnu"),
|
|
"Code": ticket_data.get("code", "N/A"),
|
|
"Date Limite": ticket_data.get("date_deadline", "Non définie"),
|
|
"Projet": {
|
|
"ID": ticket_data.get("project_id", [None, "Projet inconnu"])[0],
|
|
"Nom": ticket_data.get("project_id", [None, "Projet inconnu"])[1]
|
|
},
|
|
"Étape": {
|
|
"ID": ticket_data.get("stage_id", [None, "Étape inconnue"])[0],
|
|
"Nom": ticket_data.get("stage_id", [None, "Étape inconnue"])[1]
|
|
},
|
|
"Description": clean_html(ticket_data.get("description", "")),
|
|
"Discussions": ticket_data.get("message_ids", [])
|
|
}
|
|
|
|
return filtered_ticket
|