Spaces:
Sleeping
Sleeping
Removed old code, added support for any* document, disabled "upload" button when we are processing the document
Browse files- gradio_app.py +10 -11
gradio_app.py
CHANGED
|
@@ -1,30 +1,29 @@
|
|
| 1 |
import gradio as gr
|
| 2 |
from src.translate_any_doc import translate_document
|
| 3 |
from src.salamandraTA7b_translator import SalamandraTA7bTranslator
|
| 4 |
-
from src.mtuoc_aina_translator import MTUOCAinaTranslator
|
| 5 |
from src.aligner import Aligner
|
| 6 |
-
from nltk.tokenize.treebank import TreebankWordDetokenizer
|
| 7 |
|
| 8 |
config_folder = 'fast_align_config'
|
| 9 |
temp_folder = 'tmp'
|
| 10 |
hf_token = ""
|
| 11 |
|
| 12 |
-
detokenizer = TreebankWordDetokenizer()
|
| 13 |
translator = SalamandraTA7bTranslator(hf_token)
|
| 14 |
|
| 15 |
|
| 16 |
-
# ip = ''
|
| 17 |
-
# port = ''
|
| 18 |
-
# translator = MTUOCAinaTranslator(ip, port)
|
| 19 |
-
|
| 20 |
-
|
| 21 |
def upload_file(filepath, source_lang, target_lang):
|
| 22 |
aligner = Aligner(config_folder, source_lang, target_lang, temp_folder)
|
| 23 |
-
translated_file_name = translate_document(filepath, source_lang, target_lang, translator, aligner
|
| 24 |
return [gr.UploadButton(visible=False),
|
| 25 |
gr.DownloadButton(label=f"Download {translated_file_name}", value=translated_file_name, visible=True)]
|
| 26 |
|
| 27 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 28 |
def download_file():
|
| 29 |
return [gr.UploadButton(visible=True), gr.DownloadButton(visible=False)]
|
| 30 |
|
|
@@ -32,7 +31,7 @@ def download_file():
|
|
| 32 |
with gr.Blocks() as demo:
|
| 33 |
with gr.Tab("Text"):
|
| 34 |
gr.Interface(fn=translator.translate, inputs=["text", "text", "text"], outputs="text")
|
| 35 |
-
with gr.Tab("
|
| 36 |
with gr.Row():
|
| 37 |
dropdown1 = gr.Dropdown(label="Source language", choices=["en", "ca"], value=None,
|
| 38 |
interactive=True)
|
|
@@ -42,7 +41,7 @@ with gr.Blocks() as demo:
|
|
| 42 |
u = gr.UploadButton("Upload a file", file_count="single")
|
| 43 |
d = gr.DownloadButton("Download the file", visible=False)
|
| 44 |
|
| 45 |
-
u.upload(upload_file, [u, dropdown1, dropdown2], [u, d])
|
| 46 |
d.click(download_file, None, [u, d])
|
| 47 |
if __name__ == "__main__":
|
| 48 |
demo.launch()
|
|
|
|
| 1 |
import gradio as gr
|
| 2 |
from src.translate_any_doc import translate_document
|
| 3 |
from src.salamandraTA7b_translator import SalamandraTA7bTranslator
|
|
|
|
| 4 |
from src.aligner import Aligner
|
|
|
|
| 5 |
|
| 6 |
config_folder = 'fast_align_config'
|
| 7 |
temp_folder = 'tmp'
|
| 8 |
hf_token = ""
|
| 9 |
|
|
|
|
| 10 |
translator = SalamandraTA7bTranslator(hf_token)
|
| 11 |
|
| 12 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 13 |
def upload_file(filepath, source_lang, target_lang):
|
| 14 |
aligner = Aligner(config_folder, source_lang, target_lang, temp_folder)
|
| 15 |
+
translated_file_name = translate_document(filepath, source_lang, target_lang, translator, aligner)
|
| 16 |
return [gr.UploadButton(visible=False),
|
| 17 |
gr.DownloadButton(label=f"Download {translated_file_name}", value=translated_file_name, visible=True)]
|
| 18 |
|
| 19 |
|
| 20 |
+
def before_processing():
|
| 21 |
+
return [
|
| 22 |
+
gr.UploadButton("Processing...", interactive=False),
|
| 23 |
+
gr.DownloadButton(visible=False) # Keep download hidden until processing finishes
|
| 24 |
+
]
|
| 25 |
+
|
| 26 |
+
|
| 27 |
def download_file():
|
| 28 |
return [gr.UploadButton(visible=True), gr.DownloadButton(visible=False)]
|
| 29 |
|
|
|
|
| 31 |
with gr.Blocks() as demo:
|
| 32 |
with gr.Tab("Text"):
|
| 33 |
gr.Interface(fn=translator.translate, inputs=["text", "text", "text"], outputs="text")
|
| 34 |
+
with gr.Tab("Documents"):
|
| 35 |
with gr.Row():
|
| 36 |
dropdown1 = gr.Dropdown(label="Source language", choices=["en", "ca"], value=None,
|
| 37 |
interactive=True)
|
|
|
|
| 41 |
u = gr.UploadButton("Upload a file", file_count="single")
|
| 42 |
d = gr.DownloadButton("Download the file", visible=False)
|
| 43 |
|
| 44 |
+
u.upload(fn=before_processing, inputs=None, outputs=[u, d]).then(upload_file, [u, dropdown1, dropdown2], [u, d])
|
| 45 |
d.click(download_file, None, [u, d])
|
| 46 |
if __name__ == "__main__":
|
| 47 |
demo.launch()
|