qqwjq1981 commited on
Commit
cb60a18
·
verified ·
1 Parent(s): b82606e

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +19 -29
app.py CHANGED
@@ -18,7 +18,7 @@ from nltk.tokenize import sent_tokenize
18
  import logging
19
  from textblob import TextBlob
20
  import whisper
21
-
22
  import sqlite3
23
 
24
  # Define the passcode
@@ -224,35 +224,31 @@ def upload_and_manage(file, language):
224
 
225
  return translated_json, editable_table, output_video_path
226
 
227
- # def generate_dashboard():
228
- # # Mock analytics generation
229
- # analytics = mock_analytics()
230
-
231
- # if not analytics:
232
- # return "No analytics available."
 
 
233
 
234
- # dashboard = "Platform Analytics:\n"
235
- # for platform, data in analytics.items():
236
- # dashboard += f"\n{platform}:\n"
237
- # for metric, value in data.items():
238
- # dashboard += f" {metric}: {value}\n"
239
- # return dashboard
240
 
241
  # Gradio Interface with Tabs
242
  def build_interface():
243
  with gr.Blocks() as demo:
244
- # with gr.Tab("Content Management"):
245
  gr.Markdown("## Video Localization")
246
  with gr.Row():
247
  with gr.Column(scale=4):
248
  file_input = gr.File(label="Upload Video/Audio File")
249
- # platform_input = gr.Dropdown(["YouTube", "Instagram"], label="Select Platform")
250
  language_input = gr.Dropdown(["en", "es", "fr", "zh"], label="Select Language") # Language codes
251
  submit_button = gr.Button("Post and Process")
252
  editable_translations = gr.State(value=[])
253
 
254
  with gr.Column(scale=8):
255
-
256
  gr.Markdown("## Edit Translations")
257
 
258
  # Editable JSON Data
@@ -267,6 +263,7 @@ def build_interface():
267
  )
268
  save_changes_button = gr.Button("Save Changes")
269
  processed_video_output = gr.File(label="Download Processed Video", interactive=True) # Download button
 
270
 
271
  with gr.Column(scale=1):
272
  gr.Markdown("**Feedback**")
@@ -275,7 +272,7 @@ def build_interface():
275
  label=None,
276
  lines=3,
277
  )
278
- feedback_btn = gr.Button("Submit Feeback")
279
  response_message = gr.Textbox(label=None, lines=1, interactive=False)
280
  db_download = gr.File(label="Download Database File", visible=False)
281
 
@@ -284,18 +281,18 @@ def build_interface():
284
  message, file_path = handle_feedback(feedback)
285
  if file_path:
286
  return message, gr.update(value=file_path, visible=True)
287
- return message, gr.update(visible=False)
288
 
289
  save_changes_button.click(
290
- update_translations,
291
  inputs=[file_input, editable_table],
292
- outputs=[processed_video_output]
293
  )
294
 
295
  submit_button.click(
296
- upload_and_manage,
297
  inputs=[file_input, language_input],
298
- outputs=[editable_translations, editable_table, processed_video_output]
299
  )
300
 
301
  # Connect submit button to save_feedback_db function
@@ -305,13 +302,6 @@ def build_interface():
305
  outputs=[response_message, db_download]
306
  )
307
 
308
- # with gr.Tab("Analytics Dashboard"):
309
- # gr.Markdown("## Content Performance Analytics")
310
- # analytics_output = gr.Textbox(label="Dashboard", interactive=False)
311
- # generate_dashboard_button = gr.Button("Generate Dashboard")
312
-
313
- # generate_dashboard_button.click(generate_dashboard, outputs=[analytics_output])
314
-
315
  return demo
316
 
317
  # Launch the Gradio interface
 
18
  import logging
19
  from textblob import TextBlob
20
  import whisper
21
+ import time
22
  import sqlite3
23
 
24
  # Define the passcode
 
224
 
225
  return translated_json, editable_table, output_video_path
226
 
227
+ # Wrapper to measure time elapsed
228
+ def time_execution(func):
229
+ def wrapper(*args, **kwargs):
230
+ start_time = time.time()
231
+ result = func(*args, **kwargs)
232
+ elapsed_time = time.time() - start_time
233
+ return result, f"Time elapsed: {elapsed_time:.2f} seconds"
234
+ return wrapper
235
 
236
+ # Wrap the functions with the timer
237
+ timed_upload_and_manage = time_execution(upload_and_manage)
238
+ timed_update_translations = time_execution(update_translations)
 
 
 
239
 
240
  # Gradio Interface with Tabs
241
  def build_interface():
242
  with gr.Blocks() as demo:
 
243
  gr.Markdown("## Video Localization")
244
  with gr.Row():
245
  with gr.Column(scale=4):
246
  file_input = gr.File(label="Upload Video/Audio File")
 
247
  language_input = gr.Dropdown(["en", "es", "fr", "zh"], label="Select Language") # Language codes
248
  submit_button = gr.Button("Post and Process")
249
  editable_translations = gr.State(value=[])
250
 
251
  with gr.Column(scale=8):
 
252
  gr.Markdown("## Edit Translations")
253
 
254
  # Editable JSON Data
 
263
  )
264
  save_changes_button = gr.Button("Save Changes")
265
  processed_video_output = gr.File(label="Download Processed Video", interactive=True) # Download button
266
+ elapsed_time_display = gr.Textbox(label="Elapsed Time", lines=1, interactive=False)
267
 
268
  with gr.Column(scale=1):
269
  gr.Markdown("**Feedback**")
 
272
  label=None,
273
  lines=3,
274
  )
275
+ feedback_btn = gr.Button("Submit Feedback")
276
  response_message = gr.Textbox(label=None, lines=1, interactive=False)
277
  db_download = gr.File(label="Download Database File", visible=False)
278
 
 
281
  message, file_path = handle_feedback(feedback)
282
  if file_path:
283
  return message, gr.update(value=file_path, visible=True)
284
+ return message, gr.update(visible=False)
285
 
286
  save_changes_button.click(
287
+ timed_update_translations,
288
  inputs=[file_input, editable_table],
289
+ outputs=[processed_video_output, elapsed_time_display]
290
  )
291
 
292
  submit_button.click(
293
+ timed_upload_and_manage,
294
  inputs=[file_input, language_input],
295
+ outputs=[editable_translations, editable_table, processed_video_output, elapsed_time_display]
296
  )
297
 
298
  # Connect submit button to save_feedback_db function
 
302
  outputs=[response_message, db_download]
303
  )
304
 
 
 
 
 
 
 
 
305
  return demo
306
 
307
  # Launch the Gradio interface