File size: 1,686 Bytes
609216a
 
96021c2
609216a
96021c2
 
609216a
 
 
 
 
96021c2
609216a
 
 
 
 
 
 
 
 
 
96021c2
 
609216a
 
 
 
 
 
 
 
 
 
 
 
96eb747
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import gradio as gr
from functions import convert_script
from config import input_scripts, output_scripts

DEFAULT_INPUT_SCRIPT = list(input_scripts.keys())[0]
DEFAULT_OUTPUT_SCRIPT = list(output_scripts.keys())[1]

def process_text(input_script, output_script, input_text, uploaded_file=None):
    if uploaded_file is not None:
        input_text = uploaded_file.decode("utf-8")

    output_text = convert_script(input_scripts[input_script], output_scripts[output_script], input_text)

    output_filename = "output.txt"
    with open(output_filename, "w") as file:
        file.write(output_text)
    
    return output_text, output_filename

with gr.Blocks(title="Rohingya Script Converter") as page:
    gr.Markdown("## Rohingya Script Converter")
    with gr.Row():
        input_script = gr.Dropdown(label="Choose the input script:", choices=input_scripts.keys(), value=DEFAULT_INPUT_SCRIPT)
        output_script = gr.Dropdown(label="Choose the output script:", choices=output_scripts.keys(), value=DEFAULT_OUTPUT_SCRIPT)
    with gr.Row():
        input_text = gr.Textbox(label="Input Text", placeholder="Enter text here or upload a file", lines=5)
        output_text = gr.Textbox(label="Output Text", placeholder="Converted text will appear here", lines=5, interactive=False)
    with gr.Row():
        input_file = gr.File(label="Upload Text File", file_count="single", type="binary")
        download_link = gr.File(label="Download Converted File")
    gr.Button("Convert").click(
        process_text,
        inputs=[input_script, output_script, input_text, input_file],
        outputs=[output_text, download_link]
    )

page.launch()