Alvinn-aai commited on
Commit
4788cde
·
1 Parent(s): 5aaa510

revert to user name over stable id

Browse files
Files changed (2) hide show
  1. app.py +10 -3
  2. src/submission/submit.py +5 -5
app.py CHANGED
@@ -102,8 +102,15 @@ def add_solution_cbk(
102
  stable_id = claims.get("sub")
103
  logger.info(f"User stable ID: {stable_id}")
104
 
105
- if not stable_id:
106
- return styled_error("Could not retrieve your stable user ID. Please try signing in again.")
 
 
 
 
 
 
 
107
 
108
  try:
109
  # Validating the submission file.
@@ -138,7 +145,7 @@ def add_solution_cbk(
138
  return add_new_solutions(
139
  lbdb,
140
  profile.username,
141
- stable_id,
142
  system_name,
143
  org,
144
  sys_type,
 
102
  stable_id = claims.get("sub")
103
  logger.info(f"User stable ID: {stable_id}")
104
 
105
+ # if not stable_id:
106
+ # return styled_error("Could not retrieve your stable user ID. Please try signing in again.")
107
+ # user_id = stable_id
108
+
109
+ # NOTE: stable_id is sometimes None (expired Token?) so we opt to use username.
110
+ # TODO: extract stable_id robustly, if possible.
111
+ if not profile.username:
112
+ return styled_error("Could not retrieve username. Please try signing in again.")
113
+ user_id = profile.username
114
 
115
  try:
116
  # Validating the submission file.
 
145
  return add_new_solutions(
146
  lbdb,
147
  profile.username,
148
+ user_id,
149
  system_name,
150
  org,
151
  sys_type,
src/submission/submit.py CHANGED
@@ -25,7 +25,7 @@ MIN_WAIT_TIME_PER_USER_HRS = 24
25
  def add_new_solutions(
26
  lbdb: F1Data,
27
  username: str,
28
- stable_id: str,
29
  system_name: str,
30
  org: str,
31
  sys_type: str,
@@ -41,13 +41,13 @@ def add_new_solutions(
41
 
42
  user_last_submission_date = None
43
  for sid in submitted_ids:
44
- # Extract stable ID (last part)
45
- past_stable_id = sid.rsplit("_", 1)[-1]
46
  # Extract timestamp string (first two parts)
47
  ts_str = "_".join(sid.split("_", 2)[:2])
48
 
49
  ts = datetime.strptime(ts_str, "%Y%m%d_%H%M%S").replace(tzinfo=timezone.utc)
50
- if past_stable_id == stable_id:
51
  if user_last_submission_date is None:
52
  user_last_submission_date = ts
53
  else:
@@ -85,7 +85,7 @@ def add_new_solutions(
85
  "An error occurred. Please try again later."
86
  ) # Use same message as external error. Avoid infoleak.
87
 
88
- submission_id = f"{datetime.now(timezone.utc).strftime('%Y%m%d_%H%M%S')}_{username}_{stable_id}"
89
 
90
  # Seems good, creating the eval.
91
  logger.info(f"Adding new submission: {submission_id}")
 
25
  def add_new_solutions(
26
  lbdb: F1Data,
27
  username: str,
28
+ user_id: str,
29
  system_name: str,
30
  org: str,
31
  sys_type: str,
 
41
 
42
  user_last_submission_date = None
43
  for sid in submitted_ids:
44
+ # Extract user ID (last part)
45
+ past_user_id = sid.rsplit("_", 1)[-1]
46
  # Extract timestamp string (first two parts)
47
  ts_str = "_".join(sid.split("_", 2)[:2])
48
 
49
  ts = datetime.strptime(ts_str, "%Y%m%d_%H%M%S").replace(tzinfo=timezone.utc)
50
+ if past_user_id == user_id:
51
  if user_last_submission_date is None:
52
  user_last_submission_date = ts
53
  else:
 
85
  "An error occurred. Please try again later."
86
  ) # Use same message as external error. Avoid infoleak.
87
 
88
+ submission_id = f"{datetime.now(timezone.utc).strftime('%Y%m%d_%H%M%S')}_{username}_{user_id}"
89
 
90
  # Seems good, creating the eval.
91
  logger.info(f"Adding new submission: {submission_id}")