Example #1
0
def get_grade(grade_name):
    '''
    Get the class's information by Name
    :param grade_name:
    :return:
    '''
    grade = session.query(init_database.Grade).filter(
        init_database.Grade.name == grade_name).first()

    return grade
Example #2
0
def get_student_by_qq(student_qq):
    '''
    Get the student's information by QQ number
    :param student_qq:
    :return:
    '''
    student = session.query(init_database.Student).filter(
        init_database.Student.qq == student_qq).first()

    return student
Example #3
0
def get_grade_record(grade_name, student_qq, date):
    """通过班级名称,学生qq,日期获取班级记录"""
    grade = get_grade(grade_name)
    student = get_student_by_qq(student_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,
            init_database.GradeRecord.date == date).first()
        return grade_record
    else:
        return None
Example #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(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
Example #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
Example #6
0
def get_grade_record(grade_name, student_qq, date):
    """通过班级名称,学生qq,日期获取班级记录"""
    grade = get_grade(grade_name)
    student = get_student_by_qq(student_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,
            init_database.GradeRecord.date == date
        ).first()
        return grade_record
    else:
        return None
Example #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
Example #8
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
Example #9
0
def get_grade_record(grade_name, student_qq, date):
    '''
    Get Course records trough class name, student's QQ and dates.
    :param grade_name:
    :param student_qq:
    :param date:
    :return:
    '''
    grade = get_grade(grade_name)
    student = get_student_by_qq(student_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,
            init_database.GradeRecord.date == date).first()

        return grade_record
    else:
        return None
Example #10
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
Example #11
0
def get_grade(grade_name):
    """通过班级名称获取班级信息"""
    grade = session.query(init_database.Grade).filter(
        init_database.Grade.name == grade_name).first()
    return grade
Example #12
0
def get_student_by_qq(student_qq):
    """通过学生qq获取学生信息"""
    student = session.query(init_database.Student).filter(
        init_database.Student.qq == student_qq).first()
    return student
Example #13
0
def get_grade(grade_name):
    """通过班级名称获取班级信息"""
    grade = session.query(init_database.Grade).filter(
        init_database.Grade.name == grade_name).first()
    return grade
Example #14
0
def get_student_by_qq(student_qq):
    """通过学生qq获取学生信息"""
    student = session.query(init_database.Student).filter(
        init_database.Student.qq == student_qq).first()
    return student