示例#1
0
 def test_eligible_returns_correct_grades(self, test_session):
     assert ["Grade 7", "Grade 6"] == [
         grade.value for grade in Grade.eligible("FLS")
     ]
     assert ["Deputy Director (SCS1)"] == [
         grade.value for grade in Grade.eligible("SLS")
     ]
示例#2
0
 def test_new_grades_returns_correct_grades(self, test_session):
     current_grade = Grade(value="One below SCS", rank=5)
     promotion_roles = set(
         [grade.value for grade in Grade.new_grades(current_grade)]
     )
     assert promotion_roles == {"Grade 7", "Grade 6", "Deputy Director (SCS1)"}
     assert "Admin Assistant (AA)" not in promotion_roles
示例#3
0
文件: routes.py 项目: StfnC/mes-notes
def index():
    form = GradeForm()
    if form.validate_on_submit():
        grade = Grade(mark=form.mark.data,
                      subject=form.subject.data,
                      timestamp=form.timestamp.data,
                      student=current_user)
        mpl_timestamp = str(form.timestamp.data)
        grade.reformat_date(mpl_timestamp)
        db.session.add(grade)
        db.session.commit()
        flash(f'''La note a été ajoutée!''')
        return redirect(url_for('index'))
    user = User.query.filter_by(username=current_user.username).first()
    marks = Grade.query.filter_by(user_id=user.id).order_by(
        Grade.timestamp).all()
    subjects = []
    graph_data = dict()
    for m in marks:
        t = m.timestamp
        g = m.mark
        s = m.subject
        if s in graph_data:
            graph_data[s].append([g, t])
        else:
            graph_data[s] = [[g, t]]
    graph = build_graph(graph_data)
    return render_template('index.html',
                           title='Accueil',
                           user=current_user.username,
                           form=form,
                           graph=graph)
示例#4
0
文件: views.py 项目: Deaseyy/Django
def add_grade(request):
    # 新增班级数据
    names = ['Python班级', 'Java班级', 'Php班级', 'Ios班级']
    for name in names:
        g = Grade()
        g.g_name = name
        g.save()
    return HttpResponse('新增班级数据成功')
示例#5
0
def add_grade():
    names = ['Python班级', 'Java班级', 'Php班级', 'UI班级']
    for name in names:
        g = Grade()
        g.g_name = name
        db.session.add(g)
        db.session.commit()
    return '添加班级信息成功'
示例#6
0
def addgrad():
    grade = Grade()
    grade.g_name = 'Python18' + str(random.randrange(10,100))

    db.session.add(grade)
    db.session.commit()

    return '添加班级成功: %s' % grade.g_name
示例#7
0
def addgrade():
    grade = Grade()
    grade.name = 'Python19{}'.format(random.randrange(10, 100))

    db.session.add(grade)
    db.session.commit()

    return render_template('grade.html', grade=grade)
示例#8
0
def create_grade():
    g = ['Python', 'JAVA', 'C', 'C++']
    for i in g:
        grade = Grade()
        grade.g_name = i

        db.session.add(grade)
    db.session.commit()
    return '添加班级成功'
def add_grade():
    if request.method == 'GET':
        gnames = ['Python', 'Java', 'Php', 'C++', 'C']
        for name in gnames:
            g = Grade()
            g.g_name = name
            db.session.add(g)
        db.session.commit()

        return '创建班级成功'
示例#10
0
def addgrade(request):
    if request.method == 'GET':
        return render(request, 'addgrade.html')
    if request.method == 'POST':
        # 创建班级信息
        g_name = request.POST.get('g_name')
        g = Grade()
        g.g_name = g_name
        g.save()
        return HttpResponseRedirect(reverse('app:grade'))
示例#11
0
def add_grade():
    grades = ['大一','大二','大三','大四']
    g_list = []
    for i in grades:
        g = Grade()
        g.g_name = i
        # db.session.add(g)
        g_list.append(g)
    db.session.add_all(g_list)
    db.session.commit()
    return '创建班级成功'
示例#12
0
def add_grade():
    grades = ['一年级', '二年级', '三年级', '四年级']
    g_list = []
    for i in grades:
        g = Grade()
        g.g_name = i
        g_list.append(g)
        # db.session.add(g)
    db.session.add_all(g_list)
    db.session.commit()
    return '创建班级'
示例#13
0
def addgrade(request):
    grade = Grade()

    arr = ['Python', 'iOS', '测试', 'UI', 'Android']
    temp = random.randrange(0, len(arr))

    grade.g_name = arr[temp] + '-19' + str(random.randrange(10, 100))

    grade.save()

    return render(request, 'addgrade.html')
示例#14
0
def add_grade():
    # 批量添加班级信息, add_all
    g_list = []
    grades = ['Python', 'Java', 'Php', 'C++', 'C', 'Ruby', 'Go', '易语言', 'lua']
    for grade in grades:
        g = Grade()
        g.g_name = grade
        g_list.append(g)
    db.session.add_all(g_list)
    db.session.commit()
    return '创建班级成功'
示例#15
0
文件: views.py 项目: lanms/grocery
def addgrade(request):

    if request.method == 'POST':
        grade_name = request.POST.get('grade_name')
        #Grade.objects.get_or_create(g_name=grade_name)   #也可以创建, 但是返回的是一个元组
        g = Grade()
        g.g_name = grade_name
        g.save()
        return HttpResponseRedirect(reverse('app:grade'))
    else:
        return render(request, 'addgrade.html')
示例#16
0
def create_grade():
    grade_name = ['Python', 'Java', 'Php', 'VHDL']
    g_list = []
    for name in grade_name:
        grade = Grade()
        grade.g_name = name
        g_list.append(grade)
        # db.session.add(grade)
        # db.session.commit()
    db.session.add_all(g_list)
    db.session.commit()

    return '创建班级成功'
示例#17
0
def addgrade(request):
    if request.method == 'GET':
        return render(request, 'addgrade.html')

    if request.method == 'POST':
        # 获取页面中的grade_name
        g_name = request.POST.get('grade_name')
        # 创建一个班级对象
        g = Grade()
        # 修改班级对象的g_name属性
        g.g_name = g_name
        # 保存修改后的值
        g.save()
        return HttpResponseRedirect(reverse('app:grade'))
示例#18
0
def add_grade(grade_form):
    course = grade_form.course_name.data
    credits = grade_form.credits.data
    mark = grade_form.grade.data
    grade = Grade(course=course, credits=credits, grade=mark)
    db.session.add(grade)
    db.session.commit()
示例#19
0
def addgrade(request):

    if request.method == 'GET':

        # g = Grade.objects.get(g_name__contains=grade)
        # g.save()
        return render(request, 'addgrade.html')

    if request.method == 'POST':
        """创建班级信息"""
        g_name = request.POST.get('grade_name')
        g = Grade()
        g.g_name = g_name
        g.save()
        # reverse 这个参数 可以使用命名空间的名字
        return HttpResponseRedirect(reverse('app:grade'))
示例#20
0
def update_role():
    candidate_id = session.get("candidate-id")
    if not candidate_id:
        return redirect(url_for("route_blueprint.search_candidate"))

    if request.method == "POST":
        session["change-route"] = "route_blueprint.update_role"
        form_as_dict: dict = request.form.to_dict(flat=False)
        new_role_title = {"new-title": form_as_dict.pop("new-title")[0]}
        new_role_numbers = {
            key: int(value[0])
            for key, value in form_as_dict.items()
        }
        new_role = {**new_role_numbers, **new_role_title}
        session["new-role"] = new_role
        return redirect(url_for("route_blueprint.email_address"))

    data = {
        "promotable_grades":
        Grade.new_grades(Candidate.query.get(candidate_id).current_grade()),
        "organisations":
        Organisation.query.all(),
        "locations":
        Location.query.all(),
        "professions":
        Profession.query.all(),
        "role_changes":
        Promotion.query.all(),
    }
    return render_template(
        "updates/role.html",
        page_header="Role update",
        data=data,
        candidate=Candidate.query.get(candidate_id),
    )
示例#21
0
    def test_create_result(self):
        """Tests if new results can be created"""
        r = Result(identifier='alksdjfklt1034', module=1)
        db.session.add(r)
        db.session.commit()

        g = Grade(name='pi1', score=6, weight=1, result=r.id)
        db.session.add(g)
        db.session.commit()
 def setUp(self):
     #creates an virtual environment
     self.app = app.test_client()
     #make sure database is empty
     db.drop_all()
     db.create_all()
     g = Grade(mark=100, comment='You did great')
     db.session.add(g)
     db.session.commit()
示例#23
0
def add_grade():
    """添加班级"""
    if request.method == 'GET':
        return render_template('addgrade.html')

    if request.method == 'POST':
        g_name = request.form.get('g_name')
        g = Grade.query.filter(Grade.g_name == g_name).first()
        # 判断要添加的信息数据库中是否存在(因为班级名称不能重复)
        if g:
            msg = '*班级名称不能重复,请核对好在来添加'
            return render_template('addgrade.html', msg=msg)
        # 创建班级
        grade = Grade(g_name)
        # 保存班级信息
        grade.save()

        return redirect(url_for('user.grade_list'))
示例#24
0
def add(branchid):
    res = dict(status="fail")
    data = request.json or request.data or request.form
    print(data)
    req_values = "min max grade comment".split()
    for key in req_values:
        val = data.get(key)
        if not val:
            res["statusText"] = errs.BLANK_VALUES_FOR_REQUIRED_FIELDS.text
            res["statusData"] = errs.BLANK_VALUES_FOR_REQUIRED_FIELDS.type(
                [key])
            return jsonify(res), 200
    lower = data.get("min")
    upper = data.get("max")
    gradeTxt = data.get("grade")
    comment = data.get("comment")
    try:
        lower = float(lower)
    except Exception:
        res["statusText"] = errs.INVALID_VALUE_TYPE.text
        res["statusData"] = errs.INVALID_VALUE_TYPE.type(
            ("number or decimal", lower))
        return jsonify(res), 200
    try:
        upper = float(upper)
    except Exception:
        res["statusText"] = errs.INVALID_VALUE_TYPE.text
        res["statusData"] = errs.INVALID_VALUE_TYPE.type(
            ("number or decimal", upper))
        return jsonify(res), 200

    grades = Grade.query.filter_by(branch_id=branchid).all()
    for grade in grades:
        if (grade.lower, grade.upper) == (lower, upper):
            res["statusText"] = errs.CUSTOM_ERROR.text
            res["statusData"] = errs.CUSTOM_ERROR.type(
                "A Grade for this marks range already present")
            return jsonify(res), 200
    grade = Grade(lower, upper, gradeTxt, branchid, comment)
    db.session.add(grade)
    db.session.commit()
    res["status"] = "success"
    res["grade"] = grade.serialize()
    return jsonify(res), 200
示例#25
0
def readApi(doc_type):
    if doc_type == "students":
        data_set = Student.objects()
    elif doc_type == "grades":
        data_set = Grade.objects()
    elif doc_type == "courses":
        data_set = Course.objects()
    else:
        return render_template('404.html', title='404'), 404
    return json.dumps({"aaData": MongoEngineJSONEncoder(data_set)}), 200
示例#26
0
def students(doctype):
    if doctype == "students":
        Student(**request.form).save()
    elif doctype == "grades":
        Grade(**request.form).save()
    elif doctype == "courses":
        Course(name=request.form.get("name"),
               students=np.array(
                   request.form.getlist('students[]')).tolist()).save()
    else:
        return render_template('404.html', title='404'), 404
    return jsonify({'status': 'ok', 'message': "created"}), 201
示例#27
0
def add_student_grade(student_id, course_id, grade):
    try:
        student = Student.query.filter(Student.id == student_id).first()
        course = Course.query.filter(Course.id == course_id).first()
        grade = Grade(grade, performance_id=student_id, course_id=course_id)
        db.session.add(grade)
        db.session.commit()

        return make_response(student.first_name + " " + student.last_name +
                             "'s grade was added to course " + course.name)

    except Exception:
        return make_response("An error occured", 500)
def reviewAnswer(quizsetID, current_answer, answer_num):

    form = GradingForm()
    current_answer = int(current_answer)
    answer_num = int(answer_num)

    if quizsetID is None:
        return render_template('notify.html',
                               content='the quiz does not exists',
                               buttonText='Back to profile page',
                               link=url_for('user'))
    if current_answer is answer_num:
        return render_template('notify.html',
                               content='you have graded all answers',
                               buttonText='Back to profile page',
                               link=url_for('user'))
    else:
        answer_dict = Answer.query.filter_by(quizset_id=quizsetID).all()
        answer = str(answer_dict[int(current_answer)])
        answer = answer.split(",")
        # check whether this answer has been marked
        #if it has been marked
        this_answer = Answer.query.filter_by(id=current_answer + 1).first()
        if this_answer.is_marked():
            return redirect(
                url_for('nextAnswer',
                        quizsetID=quizsetID,
                        current_answer=current_answer,
                        answer_num=answer_num))
        else:
            if form.validate_on_submit():
                now_answer = Answer.query.filter_by(id=current_answer +
                                                    1).first()
                now_answer.mark()
                grade = Grade(mark=form.mark.data,
                              comment=form.comment.data,
                              answer_id=answer[1],
                              answerer_id=int(answer[0]))
                db.session.add(grade)
                db.session.commit()
                return redirect(
                    url_for('nextAnswer',
                            quizsetID=quizsetID,
                            current_answer=current_answer,
                            answer_num=answer_num))
            return render_template('reviewAnswer.html',
                                   Question=Question,
                                   answer=answer[2],
                                   questionID=answer[3],
                                   form=form)
示例#29
0
def index():
    rez = r.get("topstudent")
    ti = ''
    data = None
    top_grade = []
    if not rez:
        top_grade = list(Grade.objects().aggregate(*[{
            "$group": {
                "_id": {
                    "student": "$student",
                    "course": "$course"
                },
                "avggrade": {
                    "$avg": "$grade"
                }
            }
        }, {
            "$sort": {
                "avggrade": -1
            }
        }, {
            "$limit": 1
        }]))
        if top_grade:

            student_db = Student.objects.get(id=top_grade[0]["_id"]["student"])
            top_grade[0]["name"] = student_db.firstName
            top_grade[0]["lname"] = student_db.lastName

            course_db = Course.objects.get(id=top_grade[0]["_id"]["course"])
            s = json.dumps(top_grade[0], indent=4, sort_keys=True)
            r.set("topstudent", s)
            r.expire('topstudent', 30)
            rez = r.get("topstudent")

            ti = json.dumps(MongoEngineJSONEncoder(course_db),
                            indent=4,
                            sort_keys=True)
            data = json.loads(rez)
    return render_template("index.html", top_student=data, loaded=ti)
示例#30
0
文件: parsers.py 项目: zmoog/hogwarts
def extract_grades(page) -> List[Grade]:
    """
    Parses and extract student's grade from the HTML page.
    """
    tree = html.fromstring(page)
    trs = tree.xpath('//*[@id="votiEle"]/div/table/tbody/tr')

    grades = []

    for tr in trs:
        tds = tr.xpath('td')
        grades.append(
            Grade(
                tds[0].text_content(),  # when
                tds[1].text_content(),  # subject
                tds[2].text_content(),  # type
                tds[3].text_content(),  # value
                tds[4].text_content(),  # comment
                tds[5].text_content(),  # teacher
            ))

    return grades