Spaces:
Running
Running
Yichong Lu commited on
Commit ·
3e1ed9b
1
Parent(s): d3eca37
update
Browse files- competitions/app.py +7 -1
- 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=
|
| 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),
|