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