mirror of
https://github.com/Ladebeze66/llm_ticket3.git
synced 2025-12-13 17:27:18 +01:00
93 lines
3.6 KiB
Python
93 lines
3.6 KiB
Python
#!/usr/bin/env python3
|
|
# -*- coding: utf-8 -*-
|
|
|
|
"""
|
|
Script d'exemple pour extraire les images du ticket T0241.
|
|
Cet exemple montre comment utiliser l'extracteur d'images HTML.
|
|
"""
|
|
|
|
import os
|
|
import sys
|
|
import json
|
|
|
|
# Ajouter le répertoire parent au chemin de recherche
|
|
parent_dir = os.path.abspath(os.path.join(os.path.dirname(__file__), '../../..'))
|
|
sys.path.append(parent_dir)
|
|
|
|
from utils.image_extractor import extract_images_from_ticket
|
|
from utils.image_extractor.extract_all_images import enhance_ticket_data_with_images
|
|
|
|
# Chemin vers le répertoire du ticket T0241
|
|
ticket_dir = os.path.join(parent_dir, "output", "ticket_T0241", "T0241_20250409_141018")
|
|
|
|
def main():
|
|
"""
|
|
Fonction principale pour extraire les images du ticket T0241.
|
|
"""
|
|
if not os.path.exists(ticket_dir):
|
|
print(f"Répertoire introuvable: {ticket_dir}")
|
|
sys.exit(1)
|
|
|
|
print(f"Extraction des images pour le ticket: {os.path.basename(ticket_dir)}")
|
|
|
|
# 1. Utiliser directement l'extracteur d'images HTML
|
|
print("\n1. Extraction des images intégrées dans le HTML:")
|
|
embedded_images = extract_images_from_ticket(ticket_dir)
|
|
print(f" Nombre d'images trouvées: {len(embedded_images)}")
|
|
for img in embedded_images:
|
|
print(f" - {os.path.basename(img)}")
|
|
|
|
# 2. Utiliser l'extracteur complet pour récupérer toutes les images
|
|
print("\n2. Extraction de toutes les images (standard + intégrées):")
|
|
|
|
# Charger les données minimales du ticket
|
|
ticket_data = {"ticket_dir": ticket_dir}
|
|
|
|
# Charger les pièces jointes si disponibles
|
|
attachments_info_path = os.path.join(ticket_dir, "attachments_info.json")
|
|
if os.path.exists(attachments_info_path):
|
|
with open(attachments_info_path, 'r', encoding='utf-8') as f:
|
|
ticket_data["attachments"] = json.load(f)
|
|
|
|
# Enrichir avec toutes les images
|
|
enhanced_data = enhance_ticket_data_with_images(ticket_data)
|
|
|
|
# Afficher les statistiques
|
|
stats = enhanced_data.get("images_stats", {})
|
|
print(f" Total: {stats.get('total', 0)}")
|
|
print(f" Standard: {stats.get('standard', 0)}")
|
|
print(f" Intégrées: {stats.get('embedded', 0)}")
|
|
|
|
# Afficher les chemins des images
|
|
print("\n Images standard:")
|
|
for img in enhanced_data.get("standard_images", []):
|
|
print(f" - {os.path.basename(img)}")
|
|
|
|
print("\n Images intégrées dans le HTML:")
|
|
for img in enhanced_data.get("embedded_images", []):
|
|
print(f" - {os.path.basename(img)}")
|
|
|
|
# 3. Sauvegarder les résultats
|
|
output_file = os.path.join(ticket_dir, "all_images.json")
|
|
result = {
|
|
"images": enhanced_data.get("images", []),
|
|
"standard_images": enhanced_data.get("standard_images", []),
|
|
"embedded_images": enhanced_data.get("embedded_images", []),
|
|
"stats": enhanced_data.get("images_stats", {})
|
|
}
|
|
|
|
with open(output_file, 'w', encoding='utf-8') as f:
|
|
json.dump(result, f, indent=2, ensure_ascii=False)
|
|
|
|
print(f"\nRésultats sauvegardés dans: {output_file}")
|
|
|
|
# Afficher un message pour intégrer cette fonctionnalité dans le flux de traitement
|
|
print("\nPour intégrer cette fonctionnalité dans votre flux de traitement existant:")
|
|
print("1. Importez l'extracteur d'images:")
|
|
print(" from utils.image_extractor import extract_images_from_ticket")
|
|
print("2. Utilisez-le pour compléter votre liste d'images:")
|
|
print(" embedded_images = extract_images_from_ticket(ticket_dir)")
|
|
print("3. Ajoutez ces images à votre liste d'images existante")
|
|
|
|
if __name__ == "__main__":
|
|
main() |