from typing import List from pydantic import BaseModel, validator from .common import Language SUPPORTED_GENDERS = {'male', 'female'} class Sentence(BaseModel): source: str # @validator('source', pre=True) # def blank_string_in_source(cls, value, field): # if value == "": # raise ValueError('source cannot be empty') # return value class TTSConfig(BaseModel): language: Language gender: str # @validator('gender', pre=True) # def blank_string_in_gender(cls, value, field): # if value == "": # raise ValueError('gender cannot be empty') # if value not in SUPPORTED_GENDERS: # raise ValueError('Unsupported gender value') # return value class TTSRequest(BaseModel): input: List[Sentence] config: TTSConfig # @validator('input', pre=True) # def input_cannot_be_empty(cls, value, field): # if len(value) < 1: # raise ValueError('input cannot be empty') # return value