def __init__(self):
self.handlers = {
"contest": ContestHandler(),
"info": InfoHandler(),
"upload": UploadHandler(),
"admin": AdminHandler()
}
# The router tries to match the rules, the endpoint MUST be a string with this format
# CONTROLLER#ACTION
# Where CONTROLLER is an handler registered in self.handlers and ACTION is a valid
# method of that handler
self.router = Map([
Rule("/contest", methods=["GET"], endpoint="info#get_contest"),
Rule("/input/<input_id>", methods=["GET"], endpoint="info#get_input"),
Rule("/output/<output_id>", methods=["GET"], endpoint="info#get_output"),
Rule("/source/<source_id>", methods=["GET"], endpoint="info#get_source"),
Rule("/submission/<submission_id>", methods=["GET"], endpoint="info#get_submission"),
Rule("/user/<token>", methods=["GET"], endpoint="info#get_user"),
Rule("/user/<token>/submissions/<task>", methods=["GET"], endpoint="info#get_submissions"),
Rule("/generate_input", methods=["POST"], endpoint="contest#generate_input"),
Rule("/submit", methods=["POST"], endpoint="contest#submit"),
Rule("/upload_source", methods=["POST"], endpoint="upload#upload_source"),
Rule("/upload_output", methods=["POST"], endpoint="upload#upload_output"),
Rule("/admin/extract", methods=["POST"], endpoint="admin#extract"),
Rule("/admin/drop_contest", methods=["POST"], endpoint="admin#drop_contest"),
Rule("/admin/log", methods=["POST"], endpoint="admin#log"),
Rule("/admin/start", methods=["POST"], endpoint="admin#start"),
Rule("/admin/set_extra_time", methods=["POST"], endpoint="admin#set_extra_time"),
Rule("/admin/status", methods=["POST"], endpoint="admin#status"),
Rule("/admin/user_list", methods=["POST"], endpoint="admin#user_list")
])
评论列表
文章目录