91 lines
1.9 KiB
Python
91 lines
1.9 KiB
Python
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'<iframe src="http://localhost:{PUERTO_MANTINE}" width="100%" height="400" style="border:0;"></iframe>'
|
|
mo.iframe(html, width="100%", height="500px")
|
|
return
|
|
|
|
|
|
@app.cell
|
|
def _():
|
|
return
|
|
|
|
|
|
if __name__ == "__main__":
|
|
app.run()
|