SushantGautam commited on
Commit
0b3d421
·
1 Parent(s): b1f5a9f

Enhance submission handling by including public scores in the data structure; update filtering and display functions accordingly.

Browse files
Files changed (1) hide show
  1. gradio_interface.py +10 -8
gradio_interface.py CHANGED
@@ -41,14 +41,16 @@ def refresh_submissions():
41
  os.makedirs(hub_path)
42
 
43
  all_jsons = glob.glob(hub_path + "/**/*.json", recursive=True)
44
- json_files = [f.split("/")[-1] for f in all_jsons]
45
- print("json_files count:", len(json_files))
46
 
47
  submissions = []
48
- for file in json_files:
49
- username, sub_timestamp, task = file.replace(
 
50
  ".json", "").split("-_-_-")
51
- submissions.append({"user": username, "task": task,
 
 
52
  "submitted_time": sub_timestamp})
53
 
54
  last_submission_update_time = datetime.now(timezone.utc)
@@ -70,14 +72,14 @@ def filter_submissions(task_type, search_query):
70
  else:
71
  filtered = [s for s in submissions if (
72
  task_type == "all" or s["task"] == task_type) and search_query.lower() in s["user"].lower()]
73
- return [{"user": s["user"], "task": s["task"], "submitted_time": time_ago(s["submitted_time"])} for s in filtered]
74
 
75
 
76
  def display_submissions(task_type="all", search_query=""):
77
  if submissions is None or ((datetime.now(timezone.utc) - last_submission_update_time).total_seconds() > 3600):
78
  refresh_submissions()
79
  filtered_submissions = filter_submissions(task_type, search_query)
80
- return [[s["user"], s["task"], s["submitted_time"]] for s in filtered_submissions]
81
 
82
 
83
  def add_submission(file):
@@ -138,7 +140,7 @@ with gr.Blocks(title="🌟ImageCLEFmed-MEDVQA-GI 2025 Submissions 🌟") as demo
138
 
139
  with gr.Column(scale=2):
140
  output_table = gr.Dataframe(
141
- headers=["User", "Task", "Submitted Time"],
142
  interactive=False,
143
  wrap=True,
144
  label="Submissions"
 
41
  os.makedirs(hub_path)
42
 
43
  all_jsons = glob.glob(hub_path + "/**/*.json", recursive=True)
44
+ print("json_files count:", len(all_jsons))
 
45
 
46
  submissions = []
47
+ for file in all_jsons:
48
+ file_ = file.split("/")[-1]
49
+ username, sub_timestamp, task = file_.replace(
50
  ".json", "").split("-_-_-")
51
+ json_data = json.load(open(file))
52
+ public_score = json.dumps(json_data.get("public_scores", {}))
53
+ submissions.append({"user": username, "task": task, "public_score": public_score,
54
  "submitted_time": sub_timestamp})
55
 
56
  last_submission_update_time = datetime.now(timezone.utc)
 
72
  else:
73
  filtered = [s for s in submissions if (
74
  task_type == "all" or s["task"] == task_type) and search_query.lower() in s["user"].lower()]
75
+ return [{"user": s["user"], "task": s["task"], "public_score": s["public_score"], "submitted_time": time_ago(s["submitted_time"])} for s in filtered]
76
 
77
 
78
  def display_submissions(task_type="all", search_query=""):
79
  if submissions is None or ((datetime.now(timezone.utc) - last_submission_update_time).total_seconds() > 3600):
80
  refresh_submissions()
81
  filtered_submissions = filter_submissions(task_type, search_query)
82
+ return [[s["user"], s["task"], s["submitted_time"], s["public_score"]] for s in filtered_submissions]
83
 
84
 
85
  def add_submission(file):
 
140
 
141
  with gr.Column(scale=2):
142
  output_table = gr.Dataframe(
143
+ headers=["User", "Task", "Submitted Time", "Public Score"],
144
  interactive=False,
145
  wrap=True,
146
  label="Submissions"