From 6daab0d9a7f572d0d6a127c830c0dcea34fe8654 Mon Sep 17 00:00:00 2001 From: Carlos-Mesquita Date: Tue, 12 Nov 2024 14:19:52 +0000 Subject: [PATCH] Remove unnecessary section id's from reading and listening to retrieve questions since context is already on the post dto --- app/api/listening.py | 5 ++--- app/api/reading.py | 5 ++--- app/controllers/abc/listening.py | 2 +- app/controllers/abc/reading.py | 2 +- app/controllers/impl/listening.py | 4 ++-- app/controllers/impl/reading.py | 2 +- app/services/abc/exam/listening.py | 2 +- app/services/impl/exam/listening/__init__.py | 6 +++--- 8 files changed, 13 insertions(+), 15 deletions(-) diff --git a/app/api/listening.py b/app/api/listening.py index 079e242..3abd587 100644 --- a/app/api/listening.py +++ b/app/api/listening.py @@ -52,13 +52,12 @@ async def generate_mp3( @listening_router.post( - '/{section}', + '/', dependencies=[Depends(Authorized([IsAuthenticatedViaBearerToken]))] ) @inject async def generate_listening_exercise( dto: GenerateListeningExercises, - section: int = Path(..., ge=1, le=4), listening_controller: IListeningController = Depends(Provide[controller]) ): - return await listening_controller.get_listening_question(section, dto) + return await listening_controller.get_listening_question(dto) diff --git a/app/api/reading.py b/app/api/reading.py index 371731d..2f998d3 100644 --- a/app/api/reading.py +++ b/app/api/reading.py @@ -40,13 +40,12 @@ async def generate_passage( return await reading_controller.generate_reading_passage(passage, topic, word_count) @reading_router.post( - '/{passage}', + '/', dependencies=[Depends(Authorized([IsAuthenticatedViaBearerToken]))] ) @inject async def generate_reading( dto: ReadingDTO, - passage: int = Path(..., ge=1, le=3), reading_controller: IReadingController = Depends(Provide[controller]) ): - return await reading_controller.generate_reading_exercises(passage, dto) + return await reading_controller.generate_reading_exercises(dto) diff --git a/app/controllers/abc/listening.py b/app/controllers/abc/listening.py index eafd206..3b9ee20 100644 --- a/app/controllers/abc/listening.py +++ b/app/controllers/abc/listening.py @@ -14,7 +14,7 @@ class IListeningController(ABC): pass @abstractmethod - async def get_listening_question(self, section: int, dto): + async def get_listening_question(self, dto): pass @abstractmethod diff --git a/app/controllers/abc/reading.py b/app/controllers/abc/reading.py index 5ed60db..8aaa30a 100644 --- a/app/controllers/abc/reading.py +++ b/app/controllers/abc/reading.py @@ -15,6 +15,6 @@ class IReadingController(ABC): pass @abstractmethod - async def generate_reading_exercises(self, passage: int, dto): + async def generate_reading_exercises(self, dto): pass diff --git a/app/controllers/impl/listening.py b/app/controllers/impl/listening.py index 2c5f864..e6dc047 100644 --- a/app/controllers/impl/listening.py +++ b/app/controllers/impl/listening.py @@ -23,8 +23,8 @@ class ListeningController(IListeningController): async def generate_listening_dialog(self, section_id: int, topic: str, difficulty: str): return await self._service.generate_listening_dialog(section_id, topic, difficulty) - async def get_listening_question(self, section: int, dto: GenerateListeningExercises): - return await self._service.get_listening_question(section, dto) + async def get_listening_question(self, dto: GenerateListeningExercises): + return await self._service.get_listening_question(dto) async def generate_mp3(self, dto: Dialog): mp3 = await self._service.generate_mp3(dto) diff --git a/app/controllers/impl/reading.py b/app/controllers/impl/reading.py index d7a5cf6..a35eddf 100644 --- a/app/controllers/impl/reading.py +++ b/app/controllers/impl/reading.py @@ -24,5 +24,5 @@ class ReadingController(IReadingController): async def generate_reading_passage(self, passage: int, topic: Optional[str], word_count: Optional[int]): return await self._service.generate_reading_passage(passage, topic, word_count) - async def generate_reading_exercises(self, passage: int, dto: ReadingDTO): + async def generate_reading_exercises(self, dto: ReadingDTO): return await self._service.generate_reading_exercises(dto) diff --git a/app/services/abc/exam/listening.py b/app/services/abc/exam/listening.py index 62214ea..0ad85f5 100644 --- a/app/services/abc/exam/listening.py +++ b/app/services/abc/exam/listening.py @@ -13,7 +13,7 @@ class IListeningService(ABC): pass @abstractmethod - async def get_listening_question(self, section: int, dto): + async def get_listening_question(self, dto): pass @abstractmethod diff --git a/app/services/impl/exam/listening/__init__.py b/app/services/impl/exam/listening/__init__.py index da84852..761677d 100644 --- a/app/services/impl/exam/listening/__init__.py +++ b/app/services/impl/exam/listening/__init__.py @@ -92,6 +92,7 @@ class ListeningService(IListeningService): async def generate_listening_dialog(self, section: int, topic: str, difficulty: str): return await self._sections[f'section_{section}']["generate_dialogue"](section, topic) + # TODO: When mp3 editor async def get_dialog_from_audio(self, upload: UploadFile): ext, path_id = await FileHelper.save_upload(upload) dialog = await self._stt.speech_to_text(f'./tmp/{path_id}/upload.{ext}') @@ -100,8 +101,7 @@ class ListeningService(IListeningService): async def generate_mp3(self, dto: Dialog) -> bytes: return await self._tts.text_to_speech(dto) - async def get_listening_question(self, section: int, dto: GenerateListeningExercises): - dialog_type = self._sections[f'section_{section}']["type"] + async def get_listening_question(self, dto: GenerateListeningExercises): start_id = 1 exercise_tasks = [] @@ -109,7 +109,7 @@ class ListeningService(IListeningService): exercise_tasks.append( self._generate_exercise( req_exercise, - dialog_type, + "dialog or monologue", dto.text, start_id, dto.difficulty