#!/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()