def generate_input(self, task, user):
"""
POST /generate_input
"""
token = user["token"]
if Database.get_user_task(token, task["name"])["current_attempt"] is not None:
self.raise_exc(Forbidden, "FORBIDDEN", "You already have a ready input!")
attempt = Database.get_next_attempt(token, task["name"])
id, path = ContestManager.get_input(task["name"], attempt)
size = StorageManager.get_file_size(path)
Database.begin()
try:
Database.add_input(id, token, task["name"], attempt, path, size, autocommit=False)
Database.set_user_attempt(token, task["name"], attempt, autocommit=False)
Database.commit()
except:
Database.rollback()
raise
Logger.info("CONTEST", "Generated input %s for user %s on task %s" % (id, token, task["name"]))
return BaseHandler.format_dates(Database.get_input(id=id))
contest_handler.py 文件源码
python
阅读 19
收藏 0
点赞 0
评论 0
评论列表
文章目录