New custom level tests.
This commit is contained in:
96
app.py
96
app.py
@@ -1248,17 +1248,17 @@ def get_level_utas():
|
||||
all_mc_questions = []
|
||||
|
||||
# PART 1
|
||||
mc_exercises1 = gen_multiple_choice_blank_space_utas(15, 1, all_mc_questions)
|
||||
mc_exercises1 = gen_multiple_choice_blank_space_utas(15, 1, None, all_mc_questions)
|
||||
print(json.dumps(mc_exercises1, indent=4))
|
||||
all_mc_questions.append(mc_exercises1)
|
||||
|
||||
# PART 2
|
||||
mc_exercises2 = gen_multiple_choice_blank_space_utas(15, 16, all_mc_questions)
|
||||
mc_exercises2 = gen_multiple_choice_blank_space_utas(15, 16, None, all_mc_questions)
|
||||
print(json.dumps(mc_exercises2, indent=4))
|
||||
all_mc_questions.append(mc_exercises2)
|
||||
|
||||
# PART 3
|
||||
mc_exercises3 = gen_multiple_choice_blank_space_utas(15, 31, all_mc_questions)
|
||||
mc_exercises3 = gen_multiple_choice_blank_space_utas(15, 31, None, all_mc_questions)
|
||||
print(json.dumps(mc_exercises3, indent=4))
|
||||
all_mc_questions.append(mc_exercises3)
|
||||
|
||||
@@ -1323,8 +1323,15 @@ class CustomLevelExerciseTypes(Enum):
|
||||
LISTENING_2 = "listening_2"
|
||||
LISTENING_3 = "listening_3"
|
||||
LISTENING_4 = "listening_4"
|
||||
TRANSFORMATION = "transformation"
|
||||
GAP_FILLING = "gap_filling"
|
||||
MATCHING = "matching"
|
||||
CLOZE = "cloze"
|
||||
TRUE_FALSE = "true_false"
|
||||
ERROR_CORRECTION = "error_correction"
|
||||
|
||||
|
||||
# https://www.teachingenglish.org.uk/professional-development/teachers/assessing-learning/articles/test-question-types
|
||||
@app.route('/custom_level', methods=['GET'])
|
||||
@jwt_required()
|
||||
def get_custom_level():
|
||||
@@ -1340,8 +1347,8 @@ def get_custom_level():
|
||||
exercise_difficulty = request.args.get('exercise_' + str(i) + '_difficulty',
|
||||
random.choice(['easy', 'medium', 'hard']))
|
||||
exercise_qty = int(request.args.get('exercise_' + str(i) + '_qty', -1))
|
||||
exercise_topic = request.args.get('exercise_' + str(i) + '_topic', random.choice(topics))
|
||||
exercise_topic_2 = request.args.get('exercise_' + str(i) + '_topic_2', random.choice(topics))
|
||||
exercise_topic = request.args.get('exercise_' + str(i) + '_topic', None)
|
||||
exercise_topic_2 = request.args.get('exercise_' + str(i) + '_topic_2', None)
|
||||
exercise_text_size = int(request.args.get('exercise_' + str(i) + '_text_size', 700))
|
||||
exercise_sa_qty = int(request.args.get('exercise_' + str(i) + '_sa_qty', -1))
|
||||
exercise_mc_qty = int(request.args.get('exercise_' + str(i) + '_mc_qty', -1))
|
||||
@@ -1383,7 +1390,7 @@ def get_custom_level():
|
||||
qty = exercise_qty
|
||||
|
||||
response["exercises"]["exercise_" + str(i)]["questions"].extend(
|
||||
gen_multiple_choice_blank_space_utas(qty, exercise_id,
|
||||
gen_multiple_choice_blank_space_utas(qty, exercise_id, exercise_topic,
|
||||
response["exercises"]["exercise_" + str(i)]["questions"])[
|
||||
"questions"])
|
||||
exercise_id = exercise_id + qty
|
||||
@@ -1412,28 +1419,42 @@ def get_custom_level():
|
||||
response["exercises"]["exercise_" + str(i)]["type"] = "blankSpaceText"
|
||||
exercise_id = exercise_id + exercise_qty
|
||||
elif exercise_type == CustomLevelExerciseTypes.READING_PASSAGE_UTAS.value:
|
||||
if exercise_topic is None:
|
||||
exercise_topic = random.choice(topics)
|
||||
response["exercises"]["exercise_" + str(i)] = gen_reading_passage_utas(exercise_id, exercise_sa_qty,
|
||||
exercise_mc_qty, exercise_topic)
|
||||
response["exercises"]["exercise_" + str(i)]["type"] = "readingExercises"
|
||||
exercise_id = exercise_id + exercise_qty
|
||||
elif exercise_type == CustomLevelExerciseTypes.WRITING_LETTER.value:
|
||||
if exercise_topic is None:
|
||||
exercise_topic = random.choice(topics)
|
||||
response["exercises"]["exercise_" + str(i)] = gen_writing_task_1(exercise_topic, exercise_difficulty)
|
||||
response["exercises"]["exercise_" + str(i)]["type"] = "writing"
|
||||
exercise_id = exercise_id + 1
|
||||
elif exercise_type == CustomLevelExerciseTypes.WRITING_2.value:
|
||||
if exercise_topic is None:
|
||||
exercise_topic = random.choice(topics)
|
||||
response["exercises"]["exercise_" + str(i)] = gen_writing_task_2(exercise_topic, exercise_difficulty)
|
||||
response["exercises"]["exercise_" + str(i)]["type"] = "writing"
|
||||
exercise_id = exercise_id + 1
|
||||
elif exercise_type == CustomLevelExerciseTypes.SPEAKING_1.value:
|
||||
if exercise_topic is None:
|
||||
exercise_topic = random.choice(topics)
|
||||
if exercise_topic_2 is None:
|
||||
exercise_topic_2 = random.choice(topics)
|
||||
response["exercises"]["exercise_" + str(i)] = (
|
||||
gen_speaking_part_1(exercise_topic, exercise_topic_2, exercise_difficulty))
|
||||
response["exercises"]["exercise_" + str(i)]["type"] = "interactiveSpeaking"
|
||||
exercise_id = exercise_id + 1
|
||||
elif exercise_type == CustomLevelExerciseTypes.SPEAKING_2.value:
|
||||
if exercise_topic is None:
|
||||
exercise_topic = random.choice(topics)
|
||||
response["exercises"]["exercise_" + str(i)] = gen_speaking_part_2(exercise_topic, exercise_difficulty)
|
||||
response["exercises"]["exercise_" + str(i)]["type"] = "speaking"
|
||||
exercise_id = exercise_id + 1
|
||||
elif exercise_type == CustomLevelExerciseTypes.SPEAKING_3.value:
|
||||
if exercise_topic is None:
|
||||
exercise_topic = random.choice(topics)
|
||||
response["exercises"]["exercise_" + str(i)] = gen_speaking_part_3(exercise_topic, exercise_difficulty)
|
||||
response["exercises"]["exercise_" + str(i)]["type"] = "interactiveSpeaking"
|
||||
exercise_id = exercise_id + 1
|
||||
@@ -1458,6 +1479,9 @@ def get_custom_level():
|
||||
exercise_qty_q.put(exercise_paragraphmatch_qty)
|
||||
total_qty = total_qty + exercise_paragraphmatch_qty
|
||||
|
||||
if exercise_topic is None:
|
||||
exercise_topic = random.choice(topics)
|
||||
|
||||
response["exercises"]["exercise_" + str(i)] = gen_reading_passage_1(exercise_topic, exercise_difficulty,
|
||||
exercises, exercise_qty_q, exercise_id)
|
||||
response["exercises"]["exercise_" + str(i)]["type"] = "reading"
|
||||
@@ -1484,6 +1508,9 @@ def get_custom_level():
|
||||
exercise_qty_q.put(exercise_paragraphmatch_qty)
|
||||
total_qty = total_qty + exercise_paragraphmatch_qty
|
||||
|
||||
if exercise_topic is None:
|
||||
exercise_topic = random.choice(topics)
|
||||
|
||||
response["exercises"]["exercise_" + str(i)] = gen_reading_passage_2(exercise_topic, exercise_difficulty,
|
||||
exercises, exercise_qty_q, exercise_id)
|
||||
response["exercises"]["exercise_" + str(i)]["type"] = "reading"
|
||||
@@ -1514,6 +1541,9 @@ def get_custom_level():
|
||||
exercise_qty_q.put(exercise_ideamatch_qty)
|
||||
total_qty = total_qty + exercise_ideamatch_qty
|
||||
|
||||
if exercise_topic is None:
|
||||
exercise_topic = random.choice(topics)
|
||||
|
||||
response["exercises"]["exercise_" + str(i)] = gen_reading_passage_3(exercise_topic, exercise_difficulty,
|
||||
exercises, exercise_qty_q, exercise_id)
|
||||
response["exercises"]["exercise_" + str(i)]["type"] = "reading"
|
||||
@@ -1540,6 +1570,9 @@ def get_custom_level():
|
||||
exercise_qty_q.put(exercise_writeblanksform_qty)
|
||||
total_qty = total_qty + exercise_writeblanksform_qty
|
||||
|
||||
if exercise_topic is None:
|
||||
exercise_topic = random.choice(topics)
|
||||
|
||||
response["exercises"]["exercise_" + str(i)] = gen_listening_section_1(exercise_topic, exercise_difficulty,
|
||||
exercises, exercise_qty_q,
|
||||
exercise_id)
|
||||
@@ -1559,6 +1592,9 @@ def get_custom_level():
|
||||
exercise_qty_q.put(exercise_writeblanksquestions_qty)
|
||||
total_qty = total_qty + exercise_writeblanksquestions_qty
|
||||
|
||||
if exercise_topic is None:
|
||||
exercise_topic = random.choice(topics)
|
||||
|
||||
response["exercises"]["exercise_" + str(i)] = gen_listening_section_2(exercise_topic, exercise_difficulty,
|
||||
exercises, exercise_qty_q,
|
||||
exercise_id)
|
||||
@@ -1578,6 +1614,9 @@ def get_custom_level():
|
||||
exercise_qty_q.put(exercise_writeblanksquestions_qty)
|
||||
total_qty = total_qty + exercise_writeblanksquestions_qty
|
||||
|
||||
if exercise_topic is None:
|
||||
exercise_topic = random.choice(topics)
|
||||
|
||||
response["exercises"]["exercise_" + str(i)] = gen_listening_section_3(exercise_topic, exercise_difficulty,
|
||||
exercises, exercise_qty_q,
|
||||
exercise_id)
|
||||
@@ -1605,12 +1644,57 @@ def get_custom_level():
|
||||
exercise_qty_q.put(exercise_writeblanksform_qty)
|
||||
total_qty = total_qty + exercise_writeblanksform_qty
|
||||
|
||||
if exercise_topic is None:
|
||||
exercise_topic = random.choice(topics)
|
||||
|
||||
response["exercises"]["exercise_" + str(i)] = gen_listening_section_4(exercise_topic, exercise_difficulty,
|
||||
exercises, exercise_qty_q,
|
||||
exercise_id)
|
||||
response["exercises"]["exercise_" + str(i)]["type"] = "listening"
|
||||
|
||||
exercise_id = exercise_id + total_qty
|
||||
elif exercise_type == CustomLevelExerciseTypes.TRANSFORMATION.value:
|
||||
response["exercises"]["exercise_" + str(i)] = gen_transformation_exercise(exercise_qty,
|
||||
exercise_id,
|
||||
exercise_difficulty,
|
||||
exercise_topic)
|
||||
response["exercises"]["exercise_" + str(i)]["type"] = "transformation"
|
||||
exercise_id = exercise_id + exercise_qty
|
||||
elif exercise_type == CustomLevelExerciseTypes.GAP_FILLING.value:
|
||||
response["exercises"]["exercise_" + str(i)] = gen_gap_filling_exercise(exercise_qty,
|
||||
exercise_id,
|
||||
exercise_difficulty,
|
||||
exercise_topic)
|
||||
response["exercises"]["exercise_" + str(i)]["type"] = "gapFilling"
|
||||
exercise_id = exercise_id + exercise_qty
|
||||
elif exercise_type == CustomLevelExerciseTypes.MATCHING.value:
|
||||
response["exercises"]["exercise_" + str(i)] = gen_grammar_matching_exercise(exercise_qty,
|
||||
exercise_id,
|
||||
exercise_difficulty,
|
||||
exercise_topic)
|
||||
response["exercises"]["exercise_" + str(i)]["type"] = "matchSentences"
|
||||
exercise_id = exercise_id + exercise_qty
|
||||
elif exercise_type == CustomLevelExerciseTypes.CLOZE.value:
|
||||
response["exercises"]["exercise_" + str(i)] = gen_cloze_exercise(exercise_qty,
|
||||
exercise_id,
|
||||
exercise_difficulty,
|
||||
exercise_topic)
|
||||
response["exercises"]["exercise_" + str(i)]["type"] = "writeBlanks"
|
||||
exercise_id = exercise_id + exercise_qty
|
||||
elif exercise_type == CustomLevelExerciseTypes.TRUE_FALSE.value:
|
||||
response["exercises"]["exercise_" + str(i)] = gen_true_false_exercise(exercise_qty,
|
||||
exercise_id,
|
||||
exercise_difficulty,
|
||||
exercise_topic)
|
||||
response["exercises"]["exercise_" + str(i)]["type"] = "trueFalse"
|
||||
exercise_id = exercise_id + exercise_qty
|
||||
elif exercise_type == CustomLevelExerciseTypes.ERROR_CORRECTION.value:
|
||||
response["exercises"]["exercise_" + str(i)] = gen_error_correction_exercise(exercise_qty,
|
||||
exercise_id,
|
||||
exercise_difficulty,
|
||||
exercise_topic)
|
||||
response["exercises"]["exercise_" + str(i)]["type"] = "questionAnswer"
|
||||
exercise_id = exercise_id + exercise_qty
|
||||
|
||||
return response
|
||||
|
||||
|
||||
Reference in New Issue
Block a user