26 lines
961 B
Python
26 lines
961 B
Python
import logging
|
|
from typing import Optional
|
|
|
|
from fastapi import UploadFile
|
|
from grpc import services
|
|
|
|
from app.controllers.abc import IReadingController
|
|
from app.dtos.reading import ReadingDTO
|
|
from app.services.abc import IReadingService
|
|
|
|
|
|
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):
|
|
return await self._service.import_exam(exercises, solutions)
|
|
|
|
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):
|
|
return await self._service.generate_reading_exercises(dto)
|