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
示例#2
0
 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
示例#3
0
 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
示例#4
0
 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
示例#5
0
 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
示例#6
0
 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
示例#7
0
 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, ' '))
示例#9
0
    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
示例#10
0
    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
示例#11
0
    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
示例#12
0
    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