o
    nÒYi	  ã                   @   s‚   d dl mZ dZi aedœdd„Zedœdd„Zded	œd
d„Zdd„ Zedœdd„Zefdd„Z	efdd„Z
dd„ Zdd„ ZdS )é   )Úsafe_invoke_callbackÚGLOBAL)Úsuffixc                 C   s,   t | |ƒ} | tvrg t| < t|   |¡ d S ©N)Úbuild_event_nameÚ_queueÚappend©ÚeventÚcallbackr   © r   ú\/var/www/html/asistente-voz-ia/venv/lib/python3.10/site-packages/signalwire/blade/handler.pyÚregister   s   
r   c                    s$   ‡ ‡‡‡fdd„‰t ˆˆˆd d S )Nc                     s   t ˆˆˆd ˆ | Ž  d S )Nr	   )Ú
unregister)Úargs©r   Úcbr
   r   r   r   r      s   zregister_once.<locals>.cbr	   )r   r	   r   r   r   Úregister_once   s   r   N)r   r   c                 C   sl   t | |ƒdu r	dS t| |ƒ} |d u rg t| < ntt|  ƒD ]\}}||kr*t|  |= qt|  dkr4t| = dS )NFé    T)Ú	is_queuedr   r   Ú	enumerate)r
   r   r   ÚindexÚhandlerr   r   r   r      s   


€r   c                 C   s4   t | dƒ}tt ¡ ƒD ]} |  |¡dkrt| = qd S )NÚ r   )r   Úlistr   ÚkeysÚfind)r
   Útargetr   r   r   Úunregister_all)   s   
€þr   c                O   sD   t | |ƒdu r	dS t| |ƒ} t|  D ]}t|g|¢R i |¤Ž qdS )NFT)r   r   r   r   )r
   r   r   Úkwargsr   r   r   r   Útrigger1   s   
r    c                 C   s"   t | |ƒ} | tv ott|  ƒdkS )Nr   )r   r   Úlen©r
   r   r   r   r   r   ;   s   
r   c                 C   s(   t | |ƒdu r	dS t| |ƒ} tt|  ƒS )NFr   )r   r   r!   r   r"   r   r   r   Ú
queue_sizeA   s   
r#   c                   C   s   i a d S r   )r   r   r   r   r   ÚclearI   s   r$   c                 C   s   d  |  ¡ | ¡ ¡S )Nz{0}|{1})ÚformatÚstripr"   r   r   r   r   N   s   r   )Úhelpersr   r   r   r   r   r   r   r    r   r#   r$   r   r   r   r   r   Ú<module>   s    	
