ENCOA-312

This commit is contained in:
Carlos-Mesquita
2025-01-13 21:03:34 +00:00
parent b32e38156c
commit e1b23ae561
7 changed files with 69 additions and 32 deletions

View File

@@ -5,9 +5,8 @@ from fastapi import UploadFile
from ielts_be.configs.constants import GPTModels, FieldsAndExercises, TemperatureSettings
from ielts_be.dtos.reading import ReadingDTO
from ielts_be.helpers import ExercisesHelper
from ielts_be.helpers import ExercisesHelper, DifficultyHelper
from ielts_be.services import IReadingService, ILLMService
from ielts_be.utils import pick_difficulty
from .fill_blanks import FillBlanks
from .idea_match import IdeaMatch
from .paragraph_match import ParagraphMatch
@@ -138,13 +137,18 @@ class ReadingService(IReadingService):
exercise_tasks = []
start_id = 1
diff_helper = DifficultyHelper(dto.difficulty)
none_count = sum(1 for ex in dto.exercises if ex.difficulty is None)
diff_helper.distribute_for_count(none_count)
for req_exercise in dto.exercises:
exercise_tasks.append(
self._generate_single_exercise(
req_exercise,
dto.text,
start_id,
pick_difficulty(req_exercise.difficulty, dto.difficulty)
diff_helper.pick_difficulty(req_exercise.difficulty)
)
)
start_id += req_exercise.quantity