def add_grade_record(self, grade_name): ''' Add a grade record :param grade_name: :return: ''' try: grade = common.get_grade(grade_name) students = grade.students records = [] for student in students: grade_record = common.get_grade_record(grade_name, student.qq, init_data.get_time()) if grade_record == None: # Add if empty grade_record = init_data.GradeRecord( grade=grade, student=student, date=init_data.get_time()) records.append(grade_record) session.add_all(records) session.commit() return True except: return False
def add_student_to_grade(self, student_qq, grade_name): # 把学生增加到课程 try: student =common.get_student_by_qq(student_qq) grade = common.get_grade(grade_name) grade.students.append(student) session.commit() except: return False return True
def get_score(self, grade_name): # 查看成绩 grade = common.get_grade(grade_name) student = common.get_student_by_qq(self.qq) if grade != None and student != None: grade_record = session.query(create_table.GradeRecord).filter( create_table.GradeRecord.grade == grade, create_table.GradeRecord.student == student, ).first() if grade_record != None: return grade_record.score else: return None
def get_score(self, grade_name): # 查看成绩 grade = common.get_grade(grade_name) student = common.get_student_by_qq(self.qq) if grade != None and student != None: grade_record = session.query(init_database.GradeRecord).filter( init_database.GradeRecord.grade == grade, init_database.GradeRecord.student == student, ).first() if grade_record != None: return grade_record.score else: return None
def get_rank(self, grade_name): # 获取排名 grade = common.get_grade(grade_name) student = common.get_student_by_qq(self.qq) if grade != None and student != None: grade_records = session.query(init_database.GradeRecord).filter( init_database.GradeRecord.grade == grade ).order_by(init_database.GradeRecord.score.desc()).all() students = list(map(lambda record: record.student, grade_records)) # print(students) 输出列表 if student in students: rank = students.index(student) return rank+1 # 索引从0开始 return None
def get_rank(self, grade_name): # 获取排名 grade = common.get_grade(grade_name) student = common.get_student_by_qq(self.qq) if grade != None and student != None: grade_records = session.query(init_database.GradeRecord).filter( init_database.GradeRecord.grade == grade).order_by( init_database.GradeRecord.score.desc()).all() students = list(map(lambda record: record.student, grade_records)) # print(students) 输出列表 if student in students: rank = students.index(student) return rank + 1 # 索引从0开始 return None
def add_student_to_grade(self, student_qq, grade_name): ''' Add a student to the Course :param student_qq: :param grade_name: :return: True if success, else False ''' try: student = common.get_student_by_qq(student_qq) grade = common.get_grade(grade_name) grade.students.append(student) session.commit() return True except: print('Adding student failed.'.center(50, ' '))
def get_score(self, grade_name): ''' Check the results :param grade_name: :return: ''' grade = common.get_grade(grade_name) student = common.get_student_by_qq(self.qq) if grade != None and student != None: grade_record = session.query(init_database.GradeRecord).filter( init_database.GradeRecord.grade == grade, init_database.GradeRecord.student == student, ).first() if grade_record != None: return grade_record.score else: return None
def add_grade_record(self, grade_name): #grade_name=english # 增加课程记录 try: grade=common.get_grade(grade_name) #english students = grade.students records = [] for student in students: grade_record =common.get_grade_record( grade_name,student.qq,create_table.get_time()) if grade_record == None: # 记录为空再添加 grade_record = create_table.GradeRecord( grade=grade, student=student, date =create_table.get_time()) records.append(grade_record) session.add_all(records) session.commit() except: return False return True
def add_grade_record(self, grade_name): # 增加课程记录 try: grade=common.get_grade(grade_name) students = grade.students records = [] for student in students: grade_record =common.get_grade_record( grade_name,student.qq,init_data.get_time()) if grade_record == None: # 记录为空再添加 grade_record = init_database.GradeRecord( grade=grade, student=student, date =init_data.get_time()) records.append(grade_record) session.add_all(records) session.commit() except: return False return True
def get_rank(self, grade_name): ''' Get the final ranks :param grade_name: :return: ''' grade = common.get_grade(grade_name) student = common.get_student_by_qq(self.qq) if grade != None and student != None: grade_records = session.query(init_database.GradeRecord).filter( init_database.GradeRecord.grade == grade).order_by( init_database.GradeRecord.score.desc()).all() students = list(map(lambda record: record.student, grade_records)) if student in students: rank = students.index(student) return rank + 1 else: return None