def test_answer(self): u1 = User(username='******') u2 = User(username='******') q1 =Question(example="example1",system1="system1",system2="system2") q2 =Question(example="example1",system1="system3",system2="system4") q3 =Question(example="example2",system1="system1",system2="system2") db.session.add(u1) db.session.add(u2) db.session.add(q1) db.session.add(q2) db.session.add(q3) db.session.commit() self.assertEqual(u1.answers.all(), []) self.assertEqual(u2.answers.all(), []) a1 = q1.answer(0,u1) a2 = q2.answer(1,u1) a3 = q1.answer(1,u2) a4 = q3.answer(0,u2) db.session.add(a1) db.session.add(a2) db.session.add(a3) db.session.add(a4) db.session.commit() print(u1.answered_questions().all()) self.assertEqual(u1.number_answers(),2) self.assertEqual(u2.answered_questions().all(),[q1,q3])
def addComplete(qt_name): q = Question() qt = QuestionType.query.filter_by(name=qt_name).first() print qt.name form = AddQuestionForm() q.context = form.context.data subject = '数据结构' q.subject_id = Subject.query.filter_by(name=subject).first().id if qt_name == '选择题': q.options = form.options.data q.answer = form.answer.data q.degree = int(request.form['kn_point_degree']) q.kn_point_counts = int(request.form['kn_point_counts']) q.kn_point_id = KnowledgePoint.query.filter_by( name=request.form['kn_point_id_1']).first().id q.question_type_id = qt.id db.session.add(q) db.session.commit() qt_name = '' return render_template('ques/add.html', form=form, qt_name=qt_name, message='添加成功')
def insert_questions(): f = open('/home/zhuzw/git/flasky/sql/data.txt', 'r') lines = f.readlines() f.close() for line in lines: print line tmp = line.replace("\n", "").split("|") q = Question() q.context = tmp[0] q.options = tmp[1] q.answer = tmp[2] qt = QuestionType.query.filter_by(name=tmp[3]).first() q.question_type = qt.id q.kn_point = tmp[4] q.degree = tmp[5] q.accuracy = 0 q.appearance = 0 u = User.query.filter_by(username="******").first() q.professor_id = u.id if q.question_type is "选择题": q.score = 3 elif q.question_type is "判断题": q.score = 2 elif q.question_type is "填空题": q.score = 5 elif q.question_type is "主观题": q.score = 10 else: print "error" print line sys.exit() db.session.add(q) db.session.commit()
def questions(): questions = current_user.questions.all() form = CreateQuestionForm() users = User.query.all() userlist = [(u.username, u.username) for u in users] form.assign_to.choices=userlist if form.validate_on_submit(): question = Question(expression=form.expression.data) evalans = EvaluateExpression(form.expression.data) question.answer = evalans.evaluate() question.author = current_user.id challenge = Challenge(question=question) username_to = [] for name in form.assign_to.data: username_to.append(User.query.filter_by(username=name).first()) challenge.to_user = username_to db.session.add(question) db.session.add(challenge) db.session.commit() flash('Congratulations, you have created a new question.') questions = current_user.questions.all() return render_template('questions.html', title='Questions', user=current_user, questions=questions, form=form) return render_template('questions.html', title='Questions', user=current_user, questions=questions, form=form)
def new_question(course_id, test_id): form = QuestionForm() if form.validate_on_submit(): q = Question() q.test_id = test_id q.question_type = int(form.question_type.data) q.question_string = repr(form.description.data.encode())[2:-1] q.code_string = repr(form.code_string.data.encode())[2:-1] q.mcq_1 = form.mcq_1.data q.mcq_2 = form.mcq_2.data q.mcq_3 = form.mcq_3.data q.mcq_4 = form.mcq_4.data q.mcq_answer = form.mcq_solution.data q.answer = form.solution.data q.mark_alloc = form.mark_alloc.data db.session.add(q) db.session.commit() return redirect( url_for('edit_test_view', course_id=course_id, test_id=test_id))
def upload(): if request.method == 'GET': return render_template('ques/upload.html') elif request.method == 'POST': f = request.files['file'] fname = secure_filename(f.filename) filename = os.path.join(UPLOAD_FOLDER, fname) f.save(filename) print 'path:', filename datas = excel_table_byindex(filename) for row in datas: ques = Question() ques.context = row['context'] ques.answer = row['answer'] ques.degree = row['degree'] if row['ques_type'] == '选择题': ques.options = row['options'] ques.subject_id = Subject.query.filter_by( name=row['subject']).first().id ques.kn_point_id = KnowledgePoint.query.filter_by( name=row['kn_points']).first().id ques.question_type_id = QuestionType.query.filter_by( name=row['ques_type']).first().id ques.professor_id = User.query.filter_by( username='******').first().id db.session.add(ques) db.session.commit() return render_template('ques/message.html', message='上传成功')