Lakoc commited on
Commit
2f051b2
Β·
1 Parent(s): 713210c

app fix of fallback to previous df state

Browse files
Files changed (1) hide show
  1. app.py +13 -33
app.py CHANGED
@@ -1,5 +1,4 @@
1
  import os
2
- from pathlib import Path
3
 
4
  import gradio as gr
5
  from gradio_modal import Modal
@@ -26,13 +25,13 @@ def update_datasets(task):
26
 
27
  def submit_model(task, datasets, hyp_file, submitted_by, model_id, token):
28
  if not hyp_file:
29
- return gr.update(visible=True, value="⚠️ Please upload a hypothesis file."), gr.update(), gr.update(selected=1)
30
 
31
  if not submitted_by.strip() or not model_id.strip() or not token.strip():
32
- return gr.update(visible=True, value="⚠️ All fields are required."), gr.update(), gr.update(selected=1)
33
 
34
  if token.strip() != EXPECTED_TOKEN:
35
- return gr.update(visible=True, value="❌ Invalid submission token."), gr.update(), gr.update(selected=1)
36
 
37
  metadata = {
38
  "submitted_by": submitted_by.strip(),
@@ -45,17 +44,17 @@ def submit_model(task, datasets, hyp_file, submitted_by, model_id, token):
45
  (leaderboard_df["Model ID"] == model_id.strip())
46
  ]
47
  if not existing.empty:
48
- return gr.update(value="❌ A submission with this name and model ID already exists.", visible=True), \
49
- gr.update(), gr.update(selected=1), gr.update(visible=False)
50
 
51
  try:
52
  server.prepare_model_for_submission(hyp_file.name, metadata, task, datasets)
53
  server.update_leaderboard()
54
- leaderboard_df = server.get_leaderboard()
55
- return gr.update(visible=True, value="βœ… Submission successful!"), leaderboard_df, gr.update(selected=0)
56
  except Exception as e:
57
- return gr.update(visible=True, value=f"❌ Error: {str(e)}"), gr.update(), gr.update(selected=1)
58
 
 
 
59
 
60
  # Gradio UI
61
  with gr.Blocks() as demo:
@@ -65,7 +64,7 @@ with gr.Blocks() as demo:
65
  with gr.Tab("πŸ“ˆ Leaderboard"):
66
  gr.Markdown(LEADERBOARD_TAB_TITLE_MARKDOWN)
67
  leaderboard_output = gr.Dataframe(
68
- value=server.get_leaderboard(),
69
  interactive=False,
70
  label="Leaderboard"
71
  )
@@ -88,9 +87,6 @@ with gr.Blocks() as demo:
88
  with Modal("Submission Feedback", visible=False) as loading_msg:
89
  feedback_text = gr.Text(visible=True, label="⏳ Processing your submission...")
90
 
91
- with Modal("Submission Feedback", visible=False) as modal:
92
- feedback_text = gr.Text(visible=True, label="")
93
-
94
  submit_btn.click(
95
  lambda: gr.update(visible=True), # Show loading
96
  outputs=loading_msg
@@ -98,27 +94,11 @@ with gr.Blocks() as demo:
98
  fn=submit_model,
99
  inputs=[task_dropdown, dataset_checkboxes, hyp_file_upload, submitted_by_input, model_id_input,
100
  token_input],
101
- outputs=[feedback_text, leaderboard_output, tabs],
102
- show_progress=True
103
- ).then(
104
- lambda: gr.update(visible=False),
105
- outputs=loading_msg
106
  ).then(
107
- lambda: gr.update(visible=True),
108
- outputs=modal
109
  )
110
- # submit_btn.click(
111
- # fn=submit_model,
112
- # inputs=[
113
- # task_dropdown, dataset_checkboxes, hyp_file_upload,
114
- # submitted_by_input, model_id_input, token_input
115
- # ],
116
- # outputs=[feedback_text, leaderboard_output, tabs],
117
- # show_progress=True
118
- # ).then(
119
- # lambda: gr.update(visible=True),
120
- # outputs=modal
121
- # )
122
 
123
  if __name__ == "__main__":
124
- demo.launch()
 
1
  import os
 
2
 
3
  import gradio as gr
4
  from gradio_modal import Modal
 
25
 
26
  def submit_model(task, datasets, hyp_file, submitted_by, model_id, token):
27
  if not hyp_file:
28
+ return gr.update(visible=True, value="⚠️ Please upload a hypothesis file.")
29
 
30
  if not submitted_by.strip() or not model_id.strip() or not token.strip():
31
+ return gr.update(visible=True, value="⚠️ All fields are required.")
32
 
33
  if token.strip() != EXPECTED_TOKEN:
34
+ return gr.update(visible=True, value="❌ Invalid submission token.")
35
 
36
  metadata = {
37
  "submitted_by": submitted_by.strip(),
 
44
  (leaderboard_df["Model ID"] == model_id.strip())
45
  ]
46
  if not existing.empty:
47
+ return gr.update(value="❌ A submission with this name and model ID already exists.", visible=True)
 
48
 
49
  try:
50
  server.prepare_model_for_submission(hyp_file.name, metadata, task, datasets)
51
  server.update_leaderboard()
52
+ return gr.update(visible=True, value="βœ… Submission successful!")
 
53
  except Exception as e:
54
+ return gr.update(visible=True, value=f"❌ Error: {str(e)}")
55
 
56
+ def get_leaderboard_df():
57
+ return server.get_leaderboard()
58
 
59
  # Gradio UI
60
  with gr.Blocks() as demo:
 
64
  with gr.Tab("πŸ“ˆ Leaderboard"):
65
  gr.Markdown(LEADERBOARD_TAB_TITLE_MARKDOWN)
66
  leaderboard_output = gr.Dataframe(
67
+ value=get_leaderboard_df,
68
  interactive=False,
69
  label="Leaderboard"
70
  )
 
87
  with Modal("Submission Feedback", visible=False) as loading_msg:
88
  feedback_text = gr.Text(visible=True, label="⏳ Processing your submission...")
89
 
 
 
 
90
  submit_btn.click(
91
  lambda: gr.update(visible=True), # Show loading
92
  outputs=loading_msg
 
94
  fn=submit_model,
95
  inputs=[task_dropdown, dataset_checkboxes, hyp_file_upload, submitted_by_input, model_id_input,
96
  token_input],
97
+ outputs=[feedback_text],
 
 
 
 
98
  ).then(
99
+ lambda: server.get_leaderboard(), # Show loading
100
+ outputs=leaderboard_output
101
  )
 
 
 
 
 
 
 
 
 
 
 
 
102
 
103
  if __name__ == "__main__":
104
+ demo.launch()