本文整理汇总了Python中question.Question.get_active_question_by_id方法的典型用法代码示例。如果您正苦于以下问题:Python Question.get_active_question_by_id方法的具体用法?Python Question.get_active_question_by_id怎么用?Python Question.get_active_question_by_id使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类question.Question
的用法示例。
在下文中一共展示了Question.get_active_question_by_id方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: jsubmit
# 需要导入模块: from question import Question [as 别名]
# 或者: from question.Question import get_active_question_by_id [as 别名]
def jsubmit(question_id):
hs = Historysession.get_current_history_session_by_user_id_quiz_id(current_user.id)
session_id = hs.hsid
current_app.logger.debug("jsubmit - " + str(question_id) + ", session_id - " + str(session_id))
current_app.logger.debug("json in jsubmit - " + str(request.json))
question = Question.get_active_question_by_id(question_id)
if question:
if current_user.id == question.user_id:
schema = {
"type" : "object",
"properties" : {
"id" : {"type" : "integer", "maxLength" : 8, "optional" : False},
"answers" : {"type": "array", "items": { "type" : "object", "properties": {
"id" : {"type": "integer", "maxLength": 8, "optional": False},
"value" : {"type" : "string", "enum" : ["T", "F", "N"], "optional" : False}
}}, "maxItems" : 25, "optional" : True}
}
}
v = Draft4Validator(schema)
errors = sorted(v.iter_errors(request.json), key=lambda e: e.path)
if len(errors) > 0:
msg = u"Error in json format"
current_app.logger.warning(msg)
return jsonify({"status" : "ERROR", "message" : msg})
else:
qid = request.json['id']
received_answers = request.json['answers']
correct = True
for i in range(0, len(received_answers)):
item = received_answers[i]
aid = item['id']
value = item['value']
AnswerResult.add_answer_result(session_id, aid, question.revision_id, value)
correct = correct and (value == question.answers[i].correct)
current_app.logger.debug("a# = " + str(i) + ", value = " + str(value) + ", answer = " + str(question.answers[i].correct) + ", correct = " + str(correct))
QuestionResult.add_question_result(session_id, question.qid, question.revision_id, correct)
db.session.commit()
result = {'jstaus':'OK'}
return jsonify(result)
else:
msg = auth_failure_message + u"submit this question"
current_app.logger.warning(msg)
return jsonify({"status" : "ERROR", "message" : msg})
else:
return jsonify({"status" : "ERROR"})
示例2: jget
# 需要导入模块: from question import Question [as 别名]
# 或者: from question.Question import get_active_question_by_id [as 别名]
def jget(question_id):
current_app.logger.debug("jget - " + str(question_id))
question = Question.get_active_question_by_id(question_id)
if question:
if current_user.id == question.user_id:
result = {'jstaus':'OK'}
result.update(question.serialize)
current_app.logger.warning("jget result = " + str(result))
return jsonify(result)
else:
msg = auth_failure_message + u"view this question"
current_app.logger.warning(msg)
return jsonify({"status" : "ERROR", "message" : msg})
else:
msg = u"No such question found!"
current_app.logger.warning(msg)
return jsonify({"status" : "ERROR", "message" : msg})
示例3: jupd
# 需要导入模块: from question import Question [as 别名]
# 或者: from question.Question import get_active_question_by_id [as 别名]
def jupd(question_id):
current_app.logger.debug("question.jupd. - " + str(question_id))
question = Question.get_active_question_by_id(question_id)
if question:
if current_user.id == question.user_id:
current_app.logger.warning(request.json)
schema = {
"type" : "object",
"properties" : {
"id" : {"type" : "integer", "maxLength" : 8, "optional" : False},
"quizid" : {"type" : "integer", "maxLength" : 8, "optional" : False},
"qtext" : {"type" : "string", "maxLength" : 4096, "optional" : False},
"answers" : {"type": "array", "items": { "type" : "object", "properties": {"id" : {"type" : "integer", "maxLength" : 8, "optional" : False},
"correct" : {"type" : "string", "enum" : ["T", "F"], "optional" : False}
}}, "maxItems" : 25, "optional" : True},
"lat" : {"type" : "number", "maxLength" : 12, "optional" : False},
"lon" : {"type" : "number", "maxLength" : 12, "optional" : False},
}
}
v = Draft4Validator(schema)
errors = sorted(v.iter_errors(request.json), key = lambda e: e.path)
qid = request.json['id']
qtext = request.json['qtext']
answers = request.json['answers']
latitude = request.json['lat']
longitude = request.json['lon']
if len(errors) == 0:
#TODO - allow displaying unallowed tags as non html tags
#scrubb = scrubber.Scrubber()
#qtext = jinja2.Markup(scrubb.scrub(qtext))
current_app.logger.debug("got a question from DB, id = " + str(question_id))
current_app.logger.debug("id = " + str(qid))
current_app.logger.debug("qtext = '" + qtext + "'")
current_app.logger.debug("answers = " + str(answers))
current_app.logger.debug("latitude = " + str(latitude))
current_app.logger.debug("longitude = " + str(longitude))
results = QuestionResult.get_question_results_by_revision_id(question.revision_id)
if len(results) > 0:
Question.update_question_by_id_and_create_revision(question_id, qtext, latitude, longitude)
else:
Question.update_question_by_id(question_id, qtext, latitude, longitude)
db.session.commit()
current_app.logger.debug("Status - OK")
result = {'staus':'OK'}
return jsonify(result)
else:
if len(qtext) > 4096:
msg = u"Question text is too long. It must be less than 4096 symbols"
current_app.logger.warning(msg)
return jsonify({"status" : "ERROR", "message" : msg})
elif len(answers) > 25:
msg = u"Number of answers must not be greater than 25"
current_app.logger.warning(msg)
return jsonify({"status" : "ERROR", "message" : msg})
else:
msg = u"Error : "
for e in errors:
msg = msg + str(list(e.path)[len(list(e.path))-1]) + " - " + e.message.decode("UTF-8")
current_app.logger.warning(msg)
return jsonify({"status" : "ERROR", "message" : msg})
else:
msg = auth_failure_message + u"update this question"
current_app.logger.warning(msg)
return jsonify({"status" : "ERROR", "message" : msg})
else:
msg = u"No such question found!"
current_app.logger.warning(msg)
return jsonify({"status" : "ERROR", "message" : msg})
示例4: question_edit
# 需要导入模块: from question import Question [as 别名]
# 或者: from question.Question import get_active_question_by_id [as 别名]
def question_edit(question_id):
question = Question.get_active_question_by_id(question_id)
if question:
return render_template('question_edit.html', question = question)
else:
return render_template('404.html')