Files
editor_de_texto/generar_frontend.py

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()