o
    e                     @   s0   d dl T d dlmZmZmZ G dd deZdS )    )*)PlivoXMLElementmap_typeBreakElementc                       s   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				d" fd
d	Zdd Z				d"ddZ		d#ddZ		d#ddZdd Z				d"ddZ						d$ddZdd Z				d"ddZ		d#ddZ		d#d d!Z  ZS )%LangElementlang)
breakemphasisr   pphonemeprosodyszsay-assubwc                 C   s   | j S N)_LangElement__xmllang)self r   H/var/www/html/venv/lib/python3.10/site-packages/plivo/xml/langElement.pyxmllang   s   zLangElement.xmllangc                 C   s"   |d urt || _d S d | _d S r   )six	text_typer   r   valuer   r   r   r      s   
)r   c                 C   s
   || _ | S r   )r   r   r   r   r   set_xmllang    s   zLangElement.set_xmllangNc                    s   t t|   || _|| _d S r   )superr   __init__contentr   r   r   r   	__class__r   r   r   '   s   
zLangElement.__init__c                 C   s   d| j i}dd | D S )Nz*{http://www.w3.org/XML/1998/namespace}langc                 S   s(   i | ]\}}|d ur|t t|qS r   )r   r   r   ).0kvr   r   r   
<dictcomp>6   s    z'LangElement.to_dict.<locals>.<dictcomp>)r   items)r   dr   r   r   to_dict1   s
   zLangElement.to_dictc                 C      |  t||d | S )N)strengthtime)addr   )r   r)   r*   r   r   r   	add_break;      zLangElement.add_breakc                 C   "   ddl m} | |||d | S )N   )EmphasisElement)r   level)emphasisElementr0   r+   )r   r   r1   r0   r   r   r   add_emphasisG      zLangElement.add_emphasisc                 C   r(   )N)r   r   )r+   r   r   r   r   r   add_langU   r-   zLangElement.add_langc                 C       ddl m} | ||d | S )Nr/   )PElementr   )pElementr7   r+   )r   r   r7   r   r   r   add_pa      zLangElement.add_pc                 C   $   ddl m} | ||||d | S )Nr/   )PhonemeElement)r   alphabetph)phonemeElementr=   r+   )r   r   r>   r?   r=   r   r   r   add_phonemem      zLangElement.add_phonemec                 C   s&   ddl m} | |||||d | S )Nr/   )ProsodyElement)r   volumeratepitch)prosodyElementrC   r+   )r   r   rD   rE   rF   rC   r   r   r   add_prosody}   s   zLangElement.add_prosodyc                 C   r6   )Nr/   )SElementr8   )sElementrI   r+   )r   r   rI   r   r   r   add_s   r;   zLangElement.add_sc                 C   r<   )Nr/   )SayAsElement)r   interpret_asformat)sayAsElementrL   r+   )r   r   rM   rN   rL   r   r   r   
add_say_as   rB   zLangElement.add_say_asc                 C   r.   )Nr/   )
SubElement)r   alias)
subElementrQ   r+   )r   r   rR   rQ   r   r   r   add_sub   r4   zLangElement.add_subc                 C   r.   )Nr/   )WElement)r   role)wElementrU   r+   )r   r   rV   rU   r   r   r   add_w   r4   zLangElement.add_w)NNr   )NNN)__name__
__module____qualname___name	_nestablepropertyr   settervalidate_argsof_typer   r   r   r   r'   r,   r3   r5   r:   rA   rH   rK   rP   rT   rX   __classcell__r   r   r   r   r      sL    











r   N)plivo.utils.validators	plivo.xmlr   r   r   r   r   r   r   r   <module>   s    