o
    e%                     @   s4   d dl T d dlmZmZmZmZ G dd deZdS )    )*)PlivoXMLElementmap_typeNumberElementUserElementc                       s  e Zd ZdZddg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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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ed-d. Zejd/d. Zee	e
jgdd0d. Zed1d2 Zejd3d2 Zee	e
jgdd4d5 Z ed6d7 Z!e!jd8d7 Z!ee	e
jgdd9d: Z"ed;d< Z#e#jd=d< Z#ee	e
jgdd>d? Z$ed@dA Z%e%jdBdA Z%ee	e
jgddCdD Z&edEdF Z'e'jdGdF Z'eeegddHdI Z(edJdK Z)e)jdLdK Z)ee	e
jgddMdN Z*edOdP Z+e+jdQdP Z+ee	e
jgddRdS Z,edTdU Z-e-jdVdU Z-ee	e
jgddWdX Z.	Y	Y	Y	Y	Y	Y	Y	Y	Y	Y	Y	Y	Y	Y	Y	Y	Ydb fdZd[	Z/d\d] Z0	Y	Y	Ydcd^d_Z1	Y	Yddd`daZ2  Z3S )eDialElementDialUserNumberc                 C      | j S N)_DialElement__actionself r   H/var/www/html/venv/lib/python3.10/site-packages/plivo/xml/DialElement.pyaction      zDialElement.actionc                 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_action      zDialElement.set_actionc                 C   r   r   )_DialElement__methodr   r   r   r   method   r   zDialElement.methodc                 C   r   r   )r   r   r   r   r   r   r   r   !   r   c                 C   r   r   )r   r   r   r   r   
set_method%   r   zDialElement.set_methodc                 C   r   r   )_DialElement__hangup_on_starr   r   r   r   hangup_on_star,   r   zDialElement.hangup_on_starc                 C       |d urt || _d S d | _d S r   )boolr    r   r   r   r   r!   0       c                 C   r   r   )r!   r   r   r   r   set_hangup_on_star4   r   zDialElement.set_hangup_on_starc                 C   r   r   )_DialElement__time_limitr   r   r   r   
time_limit;   r   zDialElement.time_limitc                 C   r"   r   )intr&   r   r   r   r   r'   ?   r$   c                 C   r   r   )r'   r   r   r   r   set_time_limitC   r   zDialElement.set_time_limitc                 C   r   r   )_DialElement__timeoutr   r   r   r   timeoutJ   r   zDialElement.timeoutc                 C   r"   r   )r(   r*   r   r   r   r   r+   N   r$   c                 C   r   r   )r+   r   r   r   r   set_timeoutR   r   zDialElement.set_timeoutc                 C   r   r   )_DialElement__caller_idr   r   r   r   	caller_idY   r   zDialElement.caller_idc                 C   r   r   )r   r   r-   r   r   r   r   r.   ]   r   c                 C   r   r   )r.   r   r   r   r   set_caller_ida   r   zDialElement.set_caller_idc                 C   r   r   )_DialElement__caller_namer   r   r   r   caller_nameh   r   zDialElement.caller_namec                 C   r   r   )r   r   r0   r   r   r   r   r1   l      
c                 C   r   r   )r1   r   r   r   r   set_caller_nameq   r   zDialElement.set_caller_namec                 C   r   r   )_DialElement__confirm_soundr   r   r   r   confirm_soundx   r   zDialElement.confirm_soundc                 C   r   r   )r   r   r4   r   r   r   r   r5   |   r2   c                 C   r   r   )r5   r   r   r   r   set_confirm_sound   r   zDialElement.set_confirm_soundc                 C   r   r   confirm_timeoutr   r   r   r   r8      r   zDialElement.confirm_timeoutc                 C   r   r   )r   r   r8   r   r   r   r   r8      r2   c                 C   r   r   r7   r   r   r   r   r8      r   c                 C   r   r   )_DialElement__confirm_keyr   r   r   r   confirm_key   r   zDialElement.confirm_keyc                 C   r   r   )r   r   r9   r   r   r   r   r:      r2   c                 C   r   r   )r:   r   r   r   r   set_confirm_key   r   zDialElement.set_confirm_keyc                 C   r   r   )_DialElement__dial_musicr   r   r   r   
dial_music   r   zDialElement.dial_musicc                 C   r   r   )r   r   r<   r   r   r   r   r=      r   c                 C   r   r   )r=   r   r   r   r   set_dial_music   r   zDialElement.set_dial_musicc                 C   r   r   )_DialElement__callback_urlr   r   r   r   callback_url   r   zDialElement.callback_urlc                 C   r   r   )r   r   r?   r   r   r   r   r@      r2   c                 C   r   r   )r@   r   r   r   r   set_callback_url   r   zDialElement.set_callback_urlc                 C   r   r   )_DialElement__callback_methodr   r   r   r   callback_method   r   zDialElement.callback_methodc                 C   r   r   )r   r   rB   r   r   r   r   rC      r2   c                 C   r   r   )rC   r   r   r   r   set_callback_method   r   zDialElement.set_callback_methodc                 C   r   r   )_DialElement__redirectr   r   r   r   redirect   r   zDialElement.redirectc                 C   r"   r   )r#   rE   r   r   r   r   rF      r$   c                 C   r   r   )rF   r   r   r   r   set_redirect   r   zDialElement.set_redirectc                 C   r   r   )_DialElement__digits_matchr   r   r   r   digits_match   r   zDialElement.digits_matchc                 C   r   r   )r   r   rH   r   r   r   r   rI      r2   c                 C   r   r   )rI   r   r   r   r   set_digits_match   r   zDialElement.set_digits_matchc                 C   r   r   ) _DialElement__digits_match_b_legr   r   r   r   digits_match_b_leg   r   zDialElement.digits_match_b_legc                 C   r   r   )r   r   rK   r   r   r   r   rL      r2   c                 C   r   r   )rL   r   r   r   r   set_digits_match_b_leg   r   z"DialElement.set_digits_match_b_legc                 C   r   r   )_DialElement__sip_headersr   r   r   r   sip_headers  r   zDialElement.sip_headersc                 C   r   r   )r   r   rN   r   r   r   r   rO   
  r2   c                 C   r   r   )rO   r   r   r   r   set_sip_headers  r   zDialElement.set_sip_headersNc                    sx   t t|   || _|| _|| _|| _|| _|| _|| _	|| _
|	| _|
| _|| _|| _|| _|| _|| _|| _|| _d S r   )superr   __init__r   r   r!   r'   r+   r.   r1   r5   r8   r:   r=   r@   rC   rF   rI   rL   rO   )r   r   r   r!   r'   r+   r.   r1   r5   r8   r:   r=   r@   rC   rF   rI   rL   rO   	__class__r   r   rR     s$   
zDialElement.__init__c                 C   s   i d| j d| jd| jd| jd| jd| jd| jd| jd	| jd
| j	d| j
d| jd| jd| jd| jd| jd| j}dd | D S )Nr   r   hangupOnStar	timeLimitr+   callerId
callerNameconfirmSoundconfirmTimeout
confirmKey	dialMusiccallbackUrlcallbackMethodrF   digitsMatchdigitsMatchBLeg
sipHeadersc                 S   s(   i | ]\}}|d ur|t t|qS r   )r   r   r   ).0kvr   r   r   
<dictcomp>R  s    z'DialElement.to_dict.<locals>.<dictcomp>)r   r   r!   r'   r+   r.   r1   r5   r8   r:   r=   r@   rC   rF   rI   rL   rO   items)r   dr   r   r   to_dict>  sL   	
zDialElement.to_dictc                 C   s   |  t||||d | S )N)contentsend_digitssend_on_preanswerrO   )addr   )r   ri   rj   rk   rO   r   r   r   add_userW  s   zDialElement.add_userc                 C   s   |  t|||d | S )N)ri   rj   rk   )rl   r   )r   ri   rj   rk   r   r   r   
add_numberg  s   zDialElement.add_number)NNNNNNNNNNNNNNNNN)NNN)NN)4__name__
__module____qualname___name	_nestablepropertyr   settervalidate_argsof_typer   r   r   r   r   r!   of_type_exactr#   r%   r'   integer_typesr)   r+   r,   r.   r/   r1   r3   r5   r6   r8   r:   r;   r=   r>   r@   rA   rC   rD   rF   rG   rI   rJ   rL   rM   rO   rP   rR   rh   rm   rn   __classcell__r   r   rS   r   r   
   sJ   

































































(
r   N)plivo.utils.validators	plivo.xmlr   r   r   r   r   r   r   r   r   <module>   s    