o
    e                     @   s8   d dl T d dlmZmZmZmZmZ G dd deZdS )    )*)PlivoXMLElementmap_typeBreakElementEmphasisElementLangElementc                       sX  e Zd ZdZg dZedd Zejdd Zee	e
jgddd Zed	d
 Zejdd
 Zee	e
jgddd Zedd Zejdd Zee	e
j gddd Z			d. fdd	Zdd Z			d.ddZdd Z	d/ddZ	d/ddZd d! Z		d0d"d#Z			d.d$d%Zd&d' Z		d0d(d)Z	d/d*d+Z	d/d,d-Z  ZS )1SpeakElementSpeak)breakcontemphasislangpphonemeprosodyszsay-assubwc                 C      | j S N)_SpeakElement__voiceself r   I/var/www/html/venv/lib/python3.10/site-packages/plivo/xml/speakElement.pyvoice      zSpeakElement.voicec                 C   "   |d urt || _d S d | _d S r   )six	text_typer   r   valuer   r   r   r         ")r!   c                 C   
   || _ | S r   )r   r    r   r   r   	set_voice#      zSpeakElement.set_voicec                 C   r   r   )_SpeakElement__languager   r   r   r   language*   r   zSpeakElement.languagec                 C   r   r   )r   r   r&   r    r   r   r   r'   .   r"   c                 C   r#   r   )r'   r    r   r   r   set_language2   r%   zSpeakElement.set_languagec                 C   r   r   )_SpeakElement__loopr   r   r   r   loop9   r   zSpeakElement.loopc                 C   s    |d urt || _d S d | _d S r   )intr)   r    r   r   r   r*   =   s    c                 C   r#   r   )r*   r    r   r   r   set_loopA   r%   zSpeakElement.set_loopNc                    s*   t t|   || _|| _|| _|| _d S r   )superr   __init__contentr   r'   r*   )r   r/   r   r'   r*   	__class__r   r   r.   H   s
   
zSpeakElement.__init__c                 C   s$   | j | j| jd}dd | D S )N)r   r'   r*   c                 S   s(   i | ]\}}|d ur|t t|qS r   )r   r   r   ).0kvr   r   r   
<dictcomp>\   s    z(SpeakElement.to_dict.<locals>.<dictcomp>)r   r'   r*   items)r   dr   r   r   to_dictV   s   zSpeakElement.to_dictc                 C   s   |  t|||d | S )N)r/   strengthtime)addr   )r   r/   r9   r:   r   r   r   	add_breaka   s   zSpeakElement.add_breakc                 C       ddl m} | ||d | S )N   )ContElementr/   )contElementr?   r;   )r   r/   r?   r   r   r   add_contp   s   zSpeakElement.add_contc                 C      |  t||d | S )N)r/   level)r;   r   )r   r/   rD   r   r   r   add_emphasis{      zSpeakElement.add_emphasisc                 C   rC   )N)r/   xmllang)r;   r   )r   r/   rG   r   r   r   add_lang   rF   zSpeakElement.add_langc                 C   r=   )Nr>   )PElementr@   )pElementrI   r;   )r   r/   rI   r   r   r   add_p      zSpeakElement.add_pc                 C   $   ddl m} | ||||d | S )Nr>   )PhonemeElement)r/   alphabetph)phonemeElementrN   r;   )r   r/   rO   rP   rN   r   r   r   add_phoneme      zSpeakElement.add_phonemec                 C   s&   ddl m} | |||||d | S )Nr>   )ProsodyElement)r/   volumeratepitch)prosodyElementrT   r;   )r   r/   rU   rV   rW   rT   r   r   r   add_prosody   s   zSpeakElement.add_prosodyc                 C   r=   )Nr>   )SElementr@   )sElementrZ   r;   )r   r/   rZ   r   r   r   add_s   rL   zSpeakElement.add_sc                 C   rM   )Nr>   )SayAsElement)r/   interpret_asformat)sayAsElementr]   r;   )r   r/   r^   r_   r]   r   r   r   
add_say_as   rS   zSpeakElement.add_say_asc                 C   "   ddl m} | |||d | S )Nr>   )
SubElement)r/   alias)
subElementrc   r;   )r   r/   rd   rc   r   r   r   add_sub      zSpeakElement.add_subc                 C   rb   )Nr>   )WElement)r/   role)wElementrh   r;   )r   r/   ri   rh   r   r   r   add_w   rg   zSpeakElement.add_w)NNNr   )NN) __name__
__module____qualname___name	_nestablepropertyr   settervalidate_argsof_typer   r   r$   r'   r(   r*   integer_typesr,   r.   r8   r<   rB   rE   rH   rK   rR   rY   r\   ra   rf   rk   __classcell__r   r   r0   r   r      sr    


















r   N)plivo.utils.validators	plivo.xmlr   r   r   r   r   r   r   r   r   r   <module>   s    	