Files
encoach_backend/app/controllers/impl/speaking.py

27 lines
971 B
Python

import logging
import random
from typing import Optional
from app.controllers.abc import ISpeakingController
from app.services.abc 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 pool_video(self, vid_id: str):
return await self._vid_gen.pool_status(vid_id)