def run(self): while True: task = ProblemServer.problem_task.get() try: oj = task[0] problem_id = task[1] pid = task[2] except IndexError: logging.error("Error message!!! message: " + ' '.join(message)) else: dp = DownloadProblem(oj, problem_id, pid) dp.start()
def start(self): self.Judging.start() self.Download.start() connect = Connect() while True: message = connect.get_message() try: if message[0] == '0': JudgeServer.judge_task.put(message[1:]) elif message[0] == '1': ProblemServer.problem_task.put(message[1:]) elif message[0] == '2': try: p = Problem(message[1], message[2], 0) except IndexError: connect.receive_message("") else: title = p.get_title() connect.receive_message("%s" % title) elif message[0] == '3': connect.receive_message("0") elif message[0] == '4': pass elif message[0] == '5': oj = message[1] username = message[2] password = message[3] cid = int(message[4]) c = Contest(oj, username, password, cid, -1) connect.receive_message("%d" % c.get_problem_number()) elif message[0] == '6': oj = message[1] username = message[2] password = message[3] cid = int(message[4]) contest_id = int(message[5]) c = Contest(oj, username, password, cid, contest_id) c.start() else: raise IndexError except IndexError: logging.error("Error message!!! message: " + ' '.join(message)) else: connect.receive_message() connect.close_connect()