import logging from ielts_be.controllers import ISpeakingController from ielts_be.services import ISpeakingService, IVideoGeneratorService class SpeakingController(ISpeakingController): def __init__(self, speaking_service: ISpeakingService, vid_gen: IVideoGeneratorService): self._service = speaking_service self._vid_gen = vid_gen self._logger = logging.getLogger(__name__) async def get_speaking_part(self, task: int, topic: str, second_topic: str, difficulty: str): return await self._service.get_speaking_part(task, topic, second_topic, difficulty) async def get_avatars(self): return await self._vid_gen.get_avatars() async def generate_video(self, text: str, avatar: str): return await self._vid_gen.create_video(text, avatar) async def poll_video(self, vid_id: str): return await self._vid_gen.poll_status(vid_id)