contest_handler.py 文件源码

python
阅读 19 收藏 0 点赞 0 评论 0

项目:territoriali-backend 作者: algorithm-ninja 项目源码 文件源码
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))
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号