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- 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
|
45 |
-
print("json_files count:", len(json_files))
|
46 |
|
47 |
submissions = []
|
48 |
-
for file in
|
49 |
-
|
|
|
50 |
".json", "").split("-_-_-")
|
51 |
-
|
|
|
|
|
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"
|