Yoad commited on
Commit
abf28c9
·
1 Parent(s): 2b41c1c

Allow preloading leaderboard results

Browse files
Files changed (1) hide show
  1. src/app.py +34 -1
src/app.py CHANGED
@@ -37,6 +37,9 @@ if "audio_preview_active" not in st.session_state:
37
 
38
  if "uploaded_file" not in st.session_state:
39
  st.session_state.results_file = None
 
 
 
40
 
41
  if "selected_entry_idx" not in st.session_state:
42
  st.session_state.selected_entry_idx = 0
@@ -81,6 +84,13 @@ def on_file_upload():
81
  st.session_state.results_file = None
82
 
83
 
 
 
 
 
 
 
 
84
  @st.cache_data
85
  def get_leaderboard_result_csv_paths(root_search_path):
86
  fs = HfFileSystem(token=HF_API_TOKEN)
@@ -118,6 +128,8 @@ def choose_input_file_from_leaderboard():
118
 
119
  on_file_upload()
120
  st.session_state.results_file = uploaded_file
 
 
121
  st.rerun()
122
 
123
 
@@ -294,6 +306,22 @@ def main():
294
  page_title="ASR Evaluation Visualizer", page_icon="🎤", layout="wide"
295
  )
296
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
297
  if not has_api_token:
298
  st.warning("No Hugging Face API token found. Audio previews will not work.")
299
 
@@ -303,10 +331,15 @@ def main():
303
  uploaded_file = st.file_uploader(
304
  "Upload evaluation results CSV",
305
  type=["csv"],
306
- on_change=on_file_upload,
307
  key="uploaded_file",
308
  )
309
 
 
 
 
 
 
310
  if uploaded_file is not None:
311
  st.session_state.results_file = uploaded_file
312
 
 
37
 
38
  if "uploaded_file" not in st.session_state:
39
  st.session_state.results_file = None
40
+ if "consumed_query_lb_file" not in st.session_state:
41
+ st.session_state.consumed_query_lb_file = None
42
+
43
 
44
  if "selected_entry_idx" not in st.session_state:
45
  st.session_state.selected_entry_idx = 0
 
84
  st.session_state.results_file = None
85
 
86
 
87
+ def on_local_file_upload():
88
+ if "lb_result_file" in st.query_params:
89
+ st.query_params.pop("lb_result_file")
90
+ st.session_state.consumed_query_lb_file = None
91
+ on_file_upload()
92
+
93
+
94
  @st.cache_data
95
  def get_leaderboard_result_csv_paths(root_search_path):
96
  fs = HfFileSystem(token=HF_API_TOKEN)
 
128
 
129
  on_file_upload()
130
  st.session_state.results_file = uploaded_file
131
+ st.query_params["lb_result_file"] = selected_file
132
+ st.session_state.consumed_query_lb_file = selected_file
133
  st.rerun()
134
 
135
 
 
306
  page_title="ASR Evaluation Visualizer", page_icon="🎤", layout="wide"
307
  )
308
 
309
+ # Check for URL parameter for preloading leaderboard results
310
+ lb_result_file_param = st.query_params.get("lb_result_file")
311
+ if (
312
+ lb_result_file_param
313
+ and st.session_state.consumed_query_lb_file != lb_result_file_param
314
+ ):
315
+ st.session_state.consumed_query_lb_file = lb_result_file_param
316
+ leaderboard_file_url = huggingface_hub.hf_hub_url(
317
+ repo_id="ivrit-ai/hebrew-transcription-leaderboard",
318
+ subfolder=f"results{Path(lb_result_file_param).parent}",
319
+ filename=Path(lb_result_file_param).name,
320
+ repo_type="space",
321
+ )
322
+ on_file_upload()
323
+ st.session_state.results_file = leaderboard_file_url
324
+
325
  if not has_api_token:
326
  st.warning("No Hugging Face API token found. Audio previews will not work.")
327
 
 
331
  uploaded_file = st.file_uploader(
332
  "Upload evaluation results CSV",
333
  type=["csv"],
334
+ on_change=on_local_file_upload,
335
  key="uploaded_file",
336
  )
337
 
338
+ if st.session_state.consumed_query_lb_file is not None:
339
+ st.subheader(
340
+ f"Loaded: {st.session_state.consumed_query_lb_file or uploaded_file}"
341
+ )
342
+
343
  if uploaded_file is not None:
344
  st.session_state.results_file = uploaded_file
345