Yichong Lu commited on
Commit
3e1ed9b
·
1 Parent(s): d3eca37
Files changed (2) hide show
  1. competitions/app.py +7 -1
  2. competitions/utils.py +12 -0
competitions/app.py CHANGED
@@ -330,15 +330,21 @@ def new_submission(
330
  if team_id not in team_file_api.get_team_white_list():
331
  return {"response": "You are not allowed to make submissions."}
332
 
 
 
333
  lock = FileLock(f"./submission_lock/{team_id}.lock", blocking=False)
334
  try:
335
  with lock:
336
  if submission_api.exists_submission_info(team_id) and submission_api.count_by_status(team_id, [SubmissionStatus.QUEUED, SubmissionStatus.PENDING, SubmissionStatus.PROCESSING]) > 0:
337
  return {"response": "Another submission is being processed. Please wait a moment."}
338
  competition_info = CompetitionInfo(competition_id=COMPETITION_ID, autotrain_token=HF_TOKEN)
 
 
 
 
339
  sub = Submissions(
340
  end_date=competition_info.end_date,
341
- submission_limit=competition_info.submission_limit,
342
  competition_id=COMPETITION_ID,
343
  token=HF_TOKEN,
344
  competition_type=competition_info.competition_type,
 
330
  if team_id not in team_file_api.get_team_white_list():
331
  return {"response": "You are not allowed to make submissions."}
332
 
333
+ team_submission_limit_dict = team_file_api.get_team_submission_limit(user_token)
334
+
335
  lock = FileLock(f"./submission_lock/{team_id}.lock", blocking=False)
336
  try:
337
  with lock:
338
  if submission_api.exists_submission_info(team_id) and submission_api.count_by_status(team_id, [SubmissionStatus.QUEUED, SubmissionStatus.PENDING, SubmissionStatus.PROCESSING]) > 0:
339
  return {"response": "Another submission is being processed. Please wait a moment."}
340
  competition_info = CompetitionInfo(competition_id=COMPETITION_ID, autotrain_token=HF_TOKEN)
341
+ if team_id in team_submission_limit_dict.keys():
342
+ submission_limit = team_submission_limit_dict[team_id]
343
+ else:
344
+ submission_limit = competition_info.submission_limit
345
  sub = Submissions(
346
  end_date=competition_info.end_date,
347
+ submission_limit=submission_limit,
348
  competition_id=COMPETITION_ID,
349
  token=HF_TOKEN,
350
  competition_type=competition_info.competition_type,
competitions/utils.py CHANGED
@@ -408,6 +408,18 @@ class TeamFileApi:
408
  team_white_list = json.load(f)
409
  return team_white_list
410
 
 
 
 
 
 
 
 
 
 
 
 
 
411
 
412
  team_file_api = TeamFileApi(
413
  os.environ.get("HF_TOKEN", None),
 
408
  team_white_list = json.load(f)
409
  return team_white_list
410
 
411
+ @cached(cache=TTLCache(maxsize=1, ttl=600))
412
+ def get_team_submission_limit(self):
413
+ file = hf_hub_download(
414
+ repo_id=self.competition_id,
415
+ filename="team_submission_limit.json",
416
+ token=self.hf_token,
417
+ repo_type="dataset",
418
+ )
419
+
420
+ with open(file, "r", encoding="utf-8") as f:
421
+ team_submission_limit = json.load(f)
422
+ return team_submission_limit
423
 
424
  team_file_api = TeamFileApi(
425
  os.environ.get("HF_TOKEN", None),