#!/usr/bin/env python3 """ Script de test pour générer un diagramme PH R290 """ import sys import os # Ajouter le répertoire courant pour importer les modules sys.path.insert(0, os.path.dirname(os.path.abspath(__file__))) try: from app.core.refrigerant_loader import get_refrigerant from app.services.diagram_generator import DiagramGenerator print("=== GENERATION DIAGRAMME PH R290 ===") # Test 1: Charger le réfrigérant R290 print("\n1. Chargement R290...") refrigerant = get_refrigerant("R290") if refrigerant: print(f"R290 charge: {refrigerant.refrig_name}") else: print("Echec chargement R290") sys.exit(1) # Test 2: Créer le générateur de diagrammes print("\n2. Creation generateur de diagrammes...") diagram_gen = DiagramGenerator(refrigerant) print("Generateur de diagrammes cree") # Test 3: Générer le diagramme print("\n3. Generation du diagramme...") try: fig = diagram_gen.plot_diagram( p_min=0.1, # bar p_max=20.0, # bar h_min=-100, # kJ/kg h_max=600, # kJ/kg include_isotherms=True, title="PH Diagram for R290 (Propane)" ) print("Diagramme genere avec succes!") # Test 4: Sauvegarder le diagramme print("\n4. Sauvegarde du diagramme...") fig.savefig("test_r290_diagram.png", dpi=100, bbox_inches='tight') print("Diagramme sauvegarde dans: test_r290_diagram.png") # Test 5: Exporter en base64 print("\n5. Export en base64...") base64_image = diagram_gen.export_to_base64(fig) print(f"Image base64 generee: {len(base64_image)} caracteres") # Nettoyer import matplotlib.pyplot as plt plt.close(fig) print("\n=== SUCCES ===") print("Le diagramme R290 a ete genere avec succes!") print("Fichier: test_r290_diagram.png") except Exception as e: print(f"ERREUR generation diagramme: {e}") import traceback traceback.print_exc() sys.exit(1) except Exception as e: print(f"ERREUR generale: {e}") import traceback traceback.print_exc() sys.exit(1)