U
    .e                     @  sl   d Z ddlmZ ddlmZmZmZ ddlmZ dd Z	dd Z
d	d
 Zdd Zdd Zdd Zdd ZdS )zEvent-loop debugging tools.    )annotations)ERRREADWRITE)reprcallc                 C  s2   d | t@ rdnd| t@ rdnd| t@ r,dndS )z&Return description of event loop flag.z{}{}{}R W!)formatr   r   r   )flag r   </tmp/pip-unpacked-wheel-48hrr5dg/kombu/asynchronous/debug.py	repr_flag	   s    r   c                 C  s@   | d krdS t | tr| S t | tr:| \}}t|j|dS | jS )Nz	<missing>)args)
isinstancestrtupler   __name__)objcbr   r   r   r   _rcb   s    

r   c                 C  s   d t| t|  S )z1Return description of active readers and writers., )joinrepr_readersrepr_writershr   r   r   repr_active   s    r   c                   s   d  fdd|D S )z.Return description of events returned by poll.r   c              	   3  s2   | ]*\}}d  tt ||d|t|V  qdS )z
{}({})->{}z(GONE)N)r   r   callback_forr   ).0fdflr   r   r   	<genexpr>"   s    zrepr_events.<locals>.<genexpr>)r   )r   eventsr   r   r   repr_events    s    r%   c                 C  s   dd | j  D S )z&Return description of pending readers.c              
   S  s2   g | ]*\}}d | dt | dtttB  qS ()z->)r   r   r   r   r    r!   r   r   r   r   
<listcomp>-   s   z repr_readers.<locals>.<listcomp>)readersitemsr   r   r   r   r   +   s    r   c                 C  s   dd | j  D S )z&Return description of pending writers.c              	   S  s.   g | ]&\}}d | dt | dtt qS r&   )r   r   r   r)   r   r   r   r*   3   s   z repr_writers.<locals>.<listcomp>)writersr,   r   r   r   r   r   1   s    r   c                 G  sj   z>|t @ r| j| W S |t@ r<|| jkr0| jW S | j| W S W n& tk
rd   |r^|d  Y S  Y nX dS )z)Return the callback used for hub+fd+flag.r   N)r   r+   r   ZconsolidateZconsolidate_callbackr-   KeyError)r   r!   r   defaultr   r   r   r   7   s    
r   N)__doc__
__future__r   Zkombu.utils.eventior   r   r   Zkombu.utils.functionalr   r   r   r   r%   r   r   r   r   r   r   r   <module>   s   