OsGo commited on
Commit
fffd26d
verified
1 Parent(s): 4de6dc6

Upload app.py

Browse files
Files changed (1) hide show
  1. app.py +41 -0
app.py ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Servidor Gradio MCP para leer y crear archivos Word
2
+ # Requiere: gradio[mcp], python-docx
3
+ import gradio as gr
4
+ from docx import Document
5
+ import os
6
+
7
+ def leer_word(ruta):
8
+ if not os.path.exists(ruta):
9
+ return f"Archivo no encontrado: {ruta}"
10
+ try:
11
+ doc = Document(ruta)
12
+ texto = "\n".join([p.text for p in doc.paragraphs])
13
+ return texto
14
+ except Exception as e:
15
+ return f"Error al leer el archivo: {e}"
16
+
17
+ def crear_word(ruta, contenido):
18
+ try:
19
+ doc = Document()
20
+ for linea in contenido.split("\n"):
21
+ doc.add_paragraph(linea)
22
+ doc.save(ruta)
23
+ return f"Archivo creado en: {ruta}"
24
+ except Exception as e:
25
+ return f"Error al crear el archivo: {e}"
26
+
27
+ with gr.Blocks() as demo:
28
+ gr.Markdown("# Servidor Gradio MCP - Word Reader/Writer")
29
+ with gr.Tab("Leer Word"):
30
+ ruta_lectura = gr.Textbox(label="Ruta local del archivo Word a leer")
31
+ salida_lectura = gr.Textbox(label="Contenido del archivo Word", lines=10)
32
+ btn_leer = gr.Button("Leer archivo")
33
+ btn_leer.click(leer_word, inputs=[ruta_lectura], outputs=[salida_lectura])
34
+ with gr.Tab("Crear Word"):
35
+ ruta_creacion = gr.Textbox(label="Ruta local para guardar el archivo Word")
36
+ contenido_creacion = gr.Textbox(label="Contenido para el archivo Word", lines=10)
37
+ salida_creacion = gr.Textbox(label="Resultado de la creaci贸n")
38
+ btn_crear = gr.Button("Crear archivo")
39
+ btn_crear.click(crear_word, inputs=[ruta_creacion, contenido_creacion], outputs=[salida_creacion])
40
+
41
+ demo.launch(mcp_server=True)