mjuvilla commited on
Commit
5a4c72f
·
1 Parent(s): 186c0af

Removed old code, added support for any* document, disabled "upload" button when we are processing the document

Browse files
Files changed (1) hide show
  1. 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, detokenizer)
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("Docx documents"):
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()