ZENLLC commited on
Commit
25bcc83
·
verified ·
1 Parent(s): 0d0c03c

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +14 -8
app.py CHANGED
@@ -44,7 +44,7 @@ def cohere_parse_command(command):
44
 
45
  # Global containers for pending tasks and generated files.
46
  task_bucket = [] # Queue of tasks waiting to be processed.
47
- generated_files = [] # List of filenames for files generated by completed tasks.
48
  bucket_lock = threading.Lock()
49
 
50
  def process_single_task(task):
@@ -157,9 +157,12 @@ def build_tasks_html(tasks):
157
  return html
158
 
159
  def refresh_ui(tasks, files):
160
- """Refreshes the task list UI by rebuilding the HTML table."""
 
 
161
  tasks_html = build_tasks_html(tasks)
162
- return tasks, files, tasks_html
 
163
 
164
  def update_dropdown(files):
165
  """Updates the dropdown choices for preview from the list of generated files."""
@@ -225,7 +228,7 @@ def main():
225
  tasks_state = gr.State([])
226
  files_state = gr.State([])
227
 
228
- # On submit, add the task and then refresh the UI.
229
  submit_btn.click(
230
  submit_task,
231
  inputs=[command_input, tasks_state],
@@ -233,22 +236,25 @@ def main():
233
  ).then(
234
  refresh_ui,
235
  inputs=[tasks_state, files_state],
236
- outputs=[tasks_state, files_state, tasks_html_output]
237
  )
 
238
  sample1.click(lambda: "generate a report on unemployment in the United States in 2024", None, command_input)
239
  sample2.click(lambda: "generate diagram of sales data", None, command_input)
240
  sample3.click(lambda: "generate csv report of user activity", None, command_input)
 
241
  refresh_btn.click(
242
  refresh_ui,
243
  inputs=[tasks_state, files_state],
244
- outputs=[tasks_state, files_state, tasks_html_output]
245
  )
 
246
  # Hidden auto-refresh button.
247
  auto_refresh_btn = gr.Button("Auto Refresh", visible=False, elem_id="auto_refresh_btn")
248
  auto_refresh_btn.click(
249
  refresh_ui,
250
  inputs=[tasks_state, files_state],
251
- outputs=[tasks_state, files_state, tasks_html_output]
252
  )
253
  gr.HTML("""
254
  <script>
@@ -261,7 +267,7 @@ def main():
261
  """)
262
  auto_refresh_toggle.elem_id = "auto_refresh_toggle"
263
 
264
- # Update file dropdown from files_state.
265
  refresh_btn.click(
266
  update_dropdown,
267
  inputs=[files_state],
 
44
 
45
  # Global containers for pending tasks and generated files.
46
  task_bucket = [] # Queue of tasks waiting to be processed.
47
+ generated_files = [] # Global list of filenames generated.
48
  bucket_lock = threading.Lock()
49
 
50
  def process_single_task(task):
 
157
  return html
158
 
159
  def refresh_ui(tasks, files):
160
+ """Refreshes the UI by rebuilding the task list and updating the files state."""
161
+ # Update files state from the global generated_files list.
162
+ files = generated_files[:]
163
  tasks_html = build_tasks_html(tasks)
164
+ # Return tasks, updated files state, tasks HTML, and update file downloads.
165
+ return tasks, files, tasks_html, files
166
 
167
  def update_dropdown(files):
168
  """Updates the dropdown choices for preview from the list of generated files."""
 
228
  tasks_state = gr.State([])
229
  files_state = gr.State([])
230
 
231
+ # Submit: add task then refresh UI immediately.
232
  submit_btn.click(
233
  submit_task,
234
  inputs=[command_input, tasks_state],
 
236
  ).then(
237
  refresh_ui,
238
  inputs=[tasks_state, files_state],
239
+ outputs=[tasks_state, files_state, tasks_html_output, file_output]
240
  )
241
+
242
  sample1.click(lambda: "generate a report on unemployment in the United States in 2024", None, command_input)
243
  sample2.click(lambda: "generate diagram of sales data", None, command_input)
244
  sample3.click(lambda: "generate csv report of user activity", None, command_input)
245
+
246
  refresh_btn.click(
247
  refresh_ui,
248
  inputs=[tasks_state, files_state],
249
+ outputs=[tasks_state, files_state, tasks_html_output, file_output]
250
  )
251
+
252
  # Hidden auto-refresh button.
253
  auto_refresh_btn = gr.Button("Auto Refresh", visible=False, elem_id="auto_refresh_btn")
254
  auto_refresh_btn.click(
255
  refresh_ui,
256
  inputs=[tasks_state, files_state],
257
+ outputs=[tasks_state, files_state, tasks_html_output, file_output]
258
  )
259
  gr.HTML("""
260
  <script>
 
267
  """)
268
  auto_refresh_toggle.elem_id = "auto_refresh_toggle"
269
 
270
+ # Update file dropdown from files state.
271
  refresh_btn.click(
272
  update_dropdown,
273
  inputs=[files_state],