29 lines
1.0 KiB
Python
29 lines
1.0 KiB
Python
import logging
|
|
from typing import Optional
|
|
|
|
from fastapi import UploadFile, Response
|
|
|
|
from ielts_be.controllers import IReadingController
|
|
from ielts_be.services import IReadingService
|
|
from ielts_be.dtos.reading import ReadingDTO
|
|
|
|
|
|
class ReadingController(IReadingController):
|
|
|
|
def __init__(self, reading_service: IReadingService):
|
|
self._service = reading_service
|
|
self._logger = logging.getLogger(__name__)
|
|
|
|
async def import_exam(self, exercises: UploadFile, solutions: UploadFile = None):
|
|
res = await self._service.import_exam(exercises, solutions)
|
|
if not res:
|
|
return Response(status_code=500)
|
|
else:
|
|
return res
|
|
|
|
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, dto: ReadingDTO):
|
|
return await self._service.generate_reading_exercises(dto)
|