| 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 | |