
    3h
                     l    S r SSKrSSKrSSKJr  \ " S S5      5       r " S S\R                  5      rg)zData models for edge-tts.    N)	dataclassc            	       p    \ rS rSr% Sr\\S'   \\S'   \\S'   \\S'   \S\S\S	\S
\4S j5       rSS jr	Sr
g)	TTSConfig
   zM
Represents the internal TTS configuration for edge-tts's Communicate class.
voiceratevolumepitch
param_nameparam_valuepatternreturnc                     [        U[        5      (       d  [        U  S35      e[        R                  " X!5      c  [        SU  SU S35      eU$ )a  
Validates the given string parameter based on type and pattern.

Args:
    param_name (str): The name of the parameter.
    param_value (str): The value of the parameter.
    pattern (str): The pattern to validate the parameter against.

Returns:
    str: The validated parameter.
z must be strzInvalid z 'z'.)
isinstancestr	TypeErrorrematch
ValueError)r   r   r   s      M/var/www/auris/envauris/lib/python3.13/site-packages/edge_tts/data_classes.pyvalidate_string_paramTTSConfig.validate_string_param   sR     +s++zl,78888G)1x
|2k]"EFF    Nc                    [        U R                  [        5      (       d  [        S5      e[        R
                  " SU R                  5      nUb  UR                  S5      nUR                  S5      nUR                  S5      nUR                  S5      S:w  a0  US-   USUR                  S5       -   nXDR                  S5      S-   S nS	S
U SU SU S3-   U l        U R                  SU R                  S5        U R                  SU R                  S5        U R                  SU R                  S5        U R                  SU R                  S5        g)z6
Validates the TTSConfig object after initialization.
zvoice must be strz$^([a-z]{2,})-([A-Z]{2,})-(.+Neural)$N         -z,Microsoft Server Speech Text to Speech Voicez (z, )r   z8^Microsoft Server Speech Text to Speech Voice \(.+,.+\)$r   z
^[+-]\d+%$r	   r
   z^[+-]\d+Hz$)r   r   r   r   r   r   groupfindr   r   r	   r
   )selfr   langregionnames        r   __post_init__TTSConfig.__post_init__(   s1    $**c**/00@$**M;;q>D[[^F;;q>Dyy~##-=tyy~(>>IIcNQ.01>tfAfXRvQ/0 J 	""JJG	

 	""6499mD""8T[[-H""7DJJGr   )r   )r   N)__name__
__module____qualname____firstlineno____doc__r   __annotations__staticmethodr   r'   __static_attributes__ r   r   r   r   
   sR     J
IKJ# C # RU  $!Hr   r   c                       \ rS rSr% Sr\\S'   \\S'   \\S'   \\S'   \\S'   \\S'   \\S	'   \\S
'   \\S'   \\S'   \\S'   Sr	g)UtilArgsL   zCLI arguments.textfiler   list_voicesr   r	   r
   words_in_cuewrite_mediawrite_subtitlesproxyr1   N)
r)   r*   r+   r,   r-   r   r.   boolintr0   r1   r   r   r3   r3   L   s@    
I
IJ
IKJJr   r3   )r-   argparser   dataclassesr   r   	Namespacer3   r1   r   r   <module>rA      sB      	 ! >H >H >HBx!! r   