o
    eg
                     @   sD   d dl T d dlmZmZmZmZmZmZmZm	Z	 G dd deZ
dS )    )*)PlivoXMLElementmap_typeBreakElementEmphasisElementPhonemeElementProsodyElementSayAsElement
SubElementc                       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dZ				dddZ		dddZ  ZS )WElementw)breakemphasisphonemeprosodyzsay-assubc                 C   s   | j S N)_WElement__role)self r   E/var/www/html/venv/lib/python3.10/site-packages/plivo/xml/wElement.pyrole   s   zWElement.rolec                 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_role"   s   zWElement.set_roleNc                    s   t t|   || _|| _d S r   )superr   __init__contentr   )r   r   r   	__class__r   r   r   )   s   
zWElement.__init__c                 C   s   d| j i}dd | D S )Nr   c                 S   s(   i | ]\}}|d ur|t t|qS r   )r   r   r   ).0kvr   r   r   
<dictcomp>7   s    z$WElement.to_dict.<locals>.<dictcomp>)r   items)r   dr   r   r   to_dict3   s
   zWElement.to_dictc                 C      |  t||d | S )N)strengthtime)addr   )r   r*   r+   r   r   r   	add_break<      zWElement.add_breakc                 C   r)   )N)r   level)r,   r   )r   r   r/   r   r   r   add_emphasisI   r.   zWElement.add_emphasisc                 C      |  t|||d | S )N)r   alphabetph)r,   r   )r   r   r2   r3   r   r   r   add_phonemeV      zWElement.add_phonemec                 C   s   |  t||||d | S )N)r   volumeratepitch)r,   r   )r   r   r6   r7   r8   r   r   r   add_prosodye   s   zWElement.add_prosodyc                 C   r1   )N)r   interpret_asformat)r,   r	   )r   r   r:   r;   r   r   r   
add_say_asv   r5   zWElement.add_say_asc                 C   r)   )N)r   alias)r,   r
   )r   r   r=   r   r   r   add_sub   r.   zWElement.add_sub)NNr   )NNN)__name__
__module____qualname___name	_nestablepropertyr   settervalidate_argsof_typer   r   r   r   r(   r-   r0   r4   r9   r<   r>   __classcell__r   r   r    r   r      s@    	









r   N)plivo.utils.validators	plivo.xmlr   r   r   r   r   r   r	   r
   r   r   r   r   r   <module>   s    (