Commit
·
d602371
1
Parent(s):
257177b
Refactor submission handling to dynamically load submissions from JSON files and remove hardcoded sample data
Browse files- gradio_interface.py +11 -76
gradio_interface.py
CHANGED
@@ -11,6 +11,8 @@ print("Account token used to connect to HuggingFace: ", whoami()['name'])
|
|
11 |
SUBMISSION_REPO = "SushantGautam/medvqa-submissions"
|
12 |
hub_dir = None
|
13 |
|
|
|
|
|
14 |
|
15 |
def refresh_submissions():
|
16 |
global hub_dir, submissions
|
@@ -20,8 +22,15 @@ def refresh_submissions():
|
|
20 |
hub_path = snapshot_download(repo_type="dataset",
|
21 |
repo_id=SUBMISSION_REPO, allow_patterns=['*.json'])
|
22 |
hub_dir = os.path.dirname(hub_path) # More robust than split
|
23 |
-
|
24 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
25 |
return hub_path
|
26 |
|
27 |
|
@@ -32,80 +41,6 @@ print(f"{SUBMISSION_REPO} downloaded to {hub_path}")
|
|
32 |
hub_dir = hub_path.split("snapshot")[0] + "snapshot"
|
33 |
|
34 |
|
35 |
-
submissions = [
|
36 |
-
{"user": "User1", "task": "task1", "submitted_time": datetime.now(timezone.utc) -
|
37 |
-
timedelta(hours=1)},
|
38 |
-
{"user": "User2", "task": "task2", "submitted_time": datetime.now(timezone.utc) -
|
39 |
-
timedelta(days=1)},
|
40 |
-
{"user": "User3", "task": "task1", "submitted_time": datetime.now(timezone.utc) -
|
41 |
-
timedelta(minutes=30)},
|
42 |
-
{"user": "User1", "task": "task1", "submitted_time": datetime.now(timezone.utc) -
|
43 |
-
timedelta(hours=1)},
|
44 |
-
{"user": "User2", "task": "task2", "submitted_time": datetime.now(timezone.utc) -
|
45 |
-
timedelta(days=1)},
|
46 |
-
{"user": "User3", "task": "task1", "submitted_time": datetime.now(timezone.utc) -
|
47 |
-
timedelta(minutes=30)},
|
48 |
-
{"user": "User1", "task": "task1", "submitted_time": datetime.now(timezone.utc) -
|
49 |
-
timedelta(hours=1)},
|
50 |
-
{"user": "User2", "task": "task2", "submitted_time": datetime.now(timezone.utc) -
|
51 |
-
timedelta(days=1)},
|
52 |
-
{"user": "User3", "task": "task1", "submitted_time": datetime.now(timezone.utc) -
|
53 |
-
timedelta(minutes=30)},
|
54 |
-
{"user": "User2", "task": "task2", "submitted_time": datetime.now(timezone.utc) -
|
55 |
-
timedelta(days=1)},
|
56 |
-
{"user": "User3", "task": "task1", "submitted_time": datetime.now(timezone.utc) -
|
57 |
-
timedelta(minutes=30)},
|
58 |
-
{"user": "User1", "task": "task1", "submitted_time": datetime.now(timezone.utc) -
|
59 |
-
timedelta(hours=1)},
|
60 |
-
{"user": "User2", "task": "task2", "submitted_time": datetime.now(timezone.utc) -
|
61 |
-
timedelta(days=1)},
|
62 |
-
{"user": "User3", "task": "task1", "submitted_time": datetime.now(timezone.utc) -
|
63 |
-
timedelta(minutes=30)},
|
64 |
-
{"user": "User2", "task": "task2", "submitted_time": datetime.now(timezone.utc) -
|
65 |
-
timedelta(days=1)},
|
66 |
-
{"user": "User3", "task": "task1", "submitted_time": datetime.now(timezone.utc) -
|
67 |
-
timedelta(minutes=30)},
|
68 |
-
{"user": "User1", "task": "task1", "submitted_time": datetime.now(timezone.utc) -
|
69 |
-
timedelta(hours=1)},
|
70 |
-
{"user": "User2", "task": "task2", "submitted_time": datetime.now(timezone.utc) -
|
71 |
-
timedelta(days=1)},
|
72 |
-
{"user": "User3", "task": "task1", "submitted_time": datetime.now(timezone.utc) -
|
73 |
-
timedelta(minutes=30)},
|
74 |
-
{"user": "User2", "task": "task2", "submitted_time": datetime.now(timezone.utc) -
|
75 |
-
timedelta(days=1)},
|
76 |
-
{"user": "User3", "task": "task1", "submitted_time": datetime.now(timezone.utc) -
|
77 |
-
timedelta(minutes=30)},
|
78 |
-
{"user": "User1", "task": "task1", "submitted_time": datetime.now(timezone.utc) -
|
79 |
-
timedelta(hours=1)},
|
80 |
-
{"user": "User2", "task": "task2", "submitted_time": datetime.now(timezone.utc) -
|
81 |
-
timedelta(days=1)},
|
82 |
-
{"user": "User3", "task": "task1", "submitted_time": datetime.now(timezone.utc) -
|
83 |
-
timedelta(minutes=30)},
|
84 |
-
{"user": "User2", "task": "task2", "submitted_time": datetime.now(timezone.utc) -
|
85 |
-
timedelta(days=1)},
|
86 |
-
{"user": "User3", "task": "task1", "submitted_time": datetime.now(timezone.utc) -
|
87 |
-
timedelta(minutes=30)},
|
88 |
-
{"user": "User1", "task": "task1", "submitted_time": datetime.now(timezone.utc) -
|
89 |
-
timedelta(hours=1)},
|
90 |
-
{"user": "User2", "task": "task2", "submitted_time": datetime.now(timezone.utc) -
|
91 |
-
timedelta(days=1)},
|
92 |
-
{"user": "User3", "task": "task1", "submitted_time": datetime.now(timezone.utc) -
|
93 |
-
timedelta(minutes=30)},
|
94 |
-
{"user": "User2", "task": "task2", "submitted_time": datetime.now(timezone.utc) -
|
95 |
-
timedelta(days=1)},
|
96 |
-
{"user": "User3", "task": "task1", "submitted_time": datetime.now(timezone.utc) -
|
97 |
-
timedelta(minutes=30)},
|
98 |
-
{"user": "User1", "task": "task1", "submitted_time": datetime.now(timezone.utc) -
|
99 |
-
timedelta(hours=1)},
|
100 |
-
{"user": "User2", "task": "task2", "submitted_time": datetime.now(timezone.utc) -
|
101 |
-
timedelta(days=1)},
|
102 |
-
{"user": "User3", "task": "task1", "submitted_time": datetime.now(timezone.utc) -
|
103 |
-
timedelta(minutes=30)},
|
104 |
-
|
105 |
-
# ... add more sample data as needed ...
|
106 |
-
]
|
107 |
-
|
108 |
-
|
109 |
def time_ago(submitted_time):
|
110 |
delta = datetime.now(timezone.utc) - submitted_time
|
111 |
if delta.days > 0:
|
|
|
11 |
SUBMISSION_REPO = "SushantGautam/medvqa-submissions"
|
12 |
hub_dir = None
|
13 |
|
14 |
+
submissions = None # [{"user": u, "task": t, "submitted_time": ts}]
|
15 |
+
|
16 |
|
17 |
def refresh_submissions():
|
18 |
global hub_dir, submissions
|
|
|
22 |
hub_path = snapshot_download(repo_type="dataset",
|
23 |
repo_id=SUBMISSION_REPO, allow_patterns=['*.json'])
|
24 |
hub_dir = os.path.dirname(hub_path) # More robust than split
|
25 |
+
json_files = [f for f in os.listdir(hub_path) if f.endswith('.json')]
|
26 |
+
print("Downloaded submissions: ", json_files)
|
27 |
+
submissions = []
|
28 |
+
for file in json_files:
|
29 |
+
username, sub_timestamp, task = file.replace(
|
30 |
+
".json", "").split("-_-_-")
|
31 |
+
submissions.append({"user": username, "task": task,
|
32 |
+
"submitted_time": sub_timestamp})
|
33 |
+
|
34 |
return hub_path
|
35 |
|
36 |
|
|
|
41 |
hub_dir = hub_path.split("snapshot")[0] + "snapshot"
|
42 |
|
43 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
44 |
def time_ago(submitted_time):
|
45 |
delta = datetime.now(timezone.utc) - submitted_time
|
46 |
if delta.days > 0:
|