daswer123's picture
Update app.py
8b3d9e5 verified
raw
history blame
1.32 kB
import gradio as gr
from converter import MarkdownToDocxConverter
from datetime import datetime
import os
converter = MarkdownToDocxConverter()
def convert_markdown_to_docx(markdown_text: str, file_input: str):
if file_input:
with open(file_input, "r") as file:
markdown_text = file.read()
output_dir = "output"
os.makedirs(output_dir, exist_ok=True)
output_filename = f"output_{datetime.now().strftime('%Y%m%d_%H%M%S')}.docx"
converter.convert(markdown_text, os.path.join(output_dir, output_filename))
return os.path.join(output_dir, output_filename)
demo = gr.Blocks(title="Markdown to DOCX Converter")
with demo:
gr.Markdown("# Markdown to DOCX Converter")
with gr.Row():
with gr.Column():
with gr.Tab("Текст"):
markdown_input = gr.TextArea(label="Markdown Input", value="")
with gr.Tab("Файл (в приоритете)"):
file_input = gr.File(label="Markdown Input")
with gr.Column():
gr.Markdown("Output:")
docx_output = gr.File(label="DOCX Output")
convert_button = gr.Button("Convert")
convert_button.click(convert_markdown_to_docx, inputs=[markdown_input, file_input], outputs=docx_output)
if __name__ == "__main__":
demo.launch()