import marimo __generated_with = "0.15.2" app = marimo.App(width="medium") @app.cell def _(): import marimo as mo return (mo,) @app.cell def _(): return @app.cell def _(): # Importar los utiles desde la carpeta de snippets import os RUTA_CARPETA_SNIPPETS = os.environ["SNIPPETS_ROUTE"] import sys # Añadir la carpeta base que contiene 'utils' sys.path.insert(0, RUTA_CARPETA_SNIPPETS) # Importar los módulos from utils.ProcesoMonitor import ProcesoMonitor return ProcesoMonitor, RUTA_CARPETA_SNIPPETS, os @app.cell def _(RUTA_CARPETA_SNIPPETS, os): import zipfile # import os def descomprimir_zip(ruta_zip, carpeta_destino): # Crear carpeta de destino si no existe os.makedirs(carpeta_destino, exist_ok=True) # Abrir y extraer el contenido with zipfile.ZipFile(ruta_zip, 'r') as archivo_zip: archivo_zip.extractall(carpeta_destino) print(f"Archivo descomprimido en: {carpeta_destino}") # Ejemplo de uso ruta_zip = os.path.join( RUTA_CARPETA_SNIPPETS, "boilerplates/boilerplate_mantine.zip" ) # Ruta del zip carpeta_destino = "frontend" # Carpeta donde se extraerá descomprimir_zip(ruta_zip, carpeta_destino) return @app.cell def _(ProcesoMonitor): PUERTO_MANTINE = 5176 pm = ProcesoMonitor( ["npm", "run", "dev", "--", "--port", str(PUERTO_MANTINE)], cwd="frontend", # se ejecuta dentro de ./frontend sink="console" ) pm.start() return PUERTO_MANTINE, pm @app.cell def _(pm): # # Si quieres detenerlo después, puedes usar: pm.stop() return @app.cell def _(PUERTO_MANTINE, mo): html = f'' mo.iframe(html, width="100%", height="500px") return @app.cell def _(): return if __name__ == "__main__": app.run()