File size: 1,949 Bytes
d3d8124
 
227fa34
de3a711
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
d3d8124
 
de3a711
 
 
 
 
 
d3d8124
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# app.py
from UI import create_interface
import interface as app_interface_module # Necesitamos la funci贸n process_and_plot
import sys # Para manipulaci贸n de path si es necesario
from pathlib import Path

# --- Intento de Neutralizar el decorador problem谩tico para ejecuci贸n local ---
# Esto es un hack para evitar el error de 'No @spaces.GPU' si Gradio lo busca.
try:
    # Intentar importar el m贸dulo 'decorators' de tu proyecto
    # Asume que app.py est谩 en la ra铆z del proyecto y decorators.py tambi茅n
    current_dir = Path(__file__).parent
    if str(current_dir) not in sys.path:
         sys.path.insert(0, str(current_dir))
    import decorators
    
    class _GPUNeutralizerLocal:
        def __init__(self, *args, **kwargs): pass
        def __call__(self, func): return func
    
    # Sobrescribir si existen para que no causen error
    if hasattr(decorators, 'GPU'):
        decorators.GPU = _GPUNeutralizerLocal
        print("INFO (app.py): 'decorators.GPU' neutralizado para ejecuci贸n local.")
    if hasattr(decorators, 'gpu_decorator'):
        decorators.gpu_decorator = lambda duration=0: lambda func: func
        print("INFO (app.py): 'decorators.gpu_decorator' neutralizado para ejecuci贸n local.")

except ImportError:
    print("ADVERTENCIA (app.py): M贸dulo 'decorators' no encontrado, no se pudo neutralizar GPU. Puede que no sea necesario.")
except Exception as e_dec:
    print(f"ADVERTENCIA (app.py): Error al intentar neutralizar decoradores: {e_dec}")
# --- Fin de la neutralizaci贸n ---


def main():
    # Pasa la funci贸n de procesamiento real (process_and_plot) a create_interface
    # app_interface_module.process_and_plot es la funci贸n que queremos que el bot贸n llame.
    demo_instance = create_interface(process_function_for_button=app_interface_module.process_and_plot)
    
    print("Lanzando interfaz Gradio localmente...")
    demo_instance.launch()

if __name__ == "__main__":
    main()