File size: 1,025 Bytes
287c28c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
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