def get(self, *args, **kwargs): query = self.get_argument("query") student_number = self.get_argument("stu_no") password = self.get_argument("pwd") spider = Spider(student_number=student_number, password=password) spider.authorized() student_id = spider.student_id self.set_header("Content-Type", "application/json") try: if query == "semester": storage = self.redis_cls.get_semester_grade(student_id) if storage is None: current = spider.parse_semester_grade() if current.code != 0: self.write(json.dumps(dict(current._asdict()))) return data = current.data else: data = storage elif query == "pass": storage = self.redis_cls.get_passed_grade(student_id) if storage is None: current = spider.parse_passed_grade() if current.code != 0: self.write(json.dumps(dict(current._asdict()))) return data = current.data else: data = storage elif query == "fail": storage = self.redis_cls.get_failed_grade(student_id) if storage is None: current = spider.parse_failed_grade() if current.code != 0: self.write(json.dumps(dict(current._asdict()))) return data = current.data else: data = storage else: raise ValueError("Query Operation Out") self.write(gen_response(code=0x0000, data=data, msg="成功", en_msg="Success")) except Exception as err: self.write(gen_response(code=0x0001, msg=str(err), en_msg="Unknown Error"))