
    Ri                        d dl mZ d dlZd dlmZmZ d dlmZ d dlm	Z	 dZ
e
rd dlmZmZmZ d dlmZ d d	lmZ  e	j&                  e      Zdd
Z dd d efd c      Z G d de      Z G d d      Zy)    )annotationsN)boldterminal_supports_colour)__)loggingF)CallableIterableIterator)TracebackType)Anyc                    t        | t        t        f      r)t        |       dk(  rt	        | d         S | d    d| d    S t	        |       S )N   r   z .. )
isinstancelisttuplelenstr)chunks    K/home/agent/.friday_env/lib/python3.12/site-packages/sphinx/util/display.pydisplay_chunkr      sL    %$'u:?uQx= (4b	{++u:    	darkgreenc                4    d x}f| 	 	 	 	 	 	 	 	 	 	 	 	 	 ddcS )Tc              3    K   |dk  xr
 t               }t        |      }|dk(  rBt        j                  |d       | D ]%  }t        j                  d ||      d|       | ' nt	        | d      D ]{  \  }	}|rt        j                  dd       t        j                  | d	|	|z  d
dd       t        j                   ||      d|       t        j                  d|z  |       | } t        j                  d       y w)Nr   r   Tnonlz%s )r   color)startz[2K[z >4.0%z]  )r   r   loggerinfo	enumerate)
iterablesummaryr   length	verbositystringify_funcsingle_linebold_summaryitemis
             r   status_iteratorr0      s      a->$<$>K=L{Lt, 	DKK~d3$eKLJ	 !3 	GAtID1KK<.!f*V)<B?dKKKKt,4uKE KK{*K=J	 KKOs   DD)r'   zIterable[T]r(   r   r   r   r)   intr*   r1   r+   zCallable[[Any], str]returnzIterator[T] )	.defaultsr   s     r   '<generic parameters of status_iterator>r5      sK    A   	
  ) r   c                      e Zd Zy)SkipProgressMessageN)__name__
__module____qualname__r3   r   r   r7   r7   :   s    r   r7   c                  X     e Zd ZW  ddddZd	dZ	 	 	 	 	 	 	 	 d
dZ  fd       Z Zy)progress_messageTr   c                    || _         || _        y N)messager   )selfr?   r   s      r   __init__zprogress_message.__init__?   s    	r   c                r    t         j                  t        | j                  dz         | j                         y )Nz... r   )r$   r%   r   r?   r   )r@   s    r   	__enter__zprogress_message.__enter__C   s$    D./dii@r   c                   | j                   rdnt        | j                  dz         }t        |t              rJt
        j                  |t        d      z          |j                  rt        j                  |j                    y|r"t
        j                  |t        d      z          yt
        j                  |t        d      z          y)Nr#   z: skippedTfaileddoneF)	r   r   r?   r   r7   r$   r%   r   args)r@   typvaltbprefixs        r   __exit__zprogress_message.__exit__F   s     yyd4<<$+>&?c./KKI./xxSXX&KKH-.  KKF+,r   c                 "    d x}dx}fddcS )PRc                H     t        j                        d fd       }|S )Nc                 D    5   | i |cd d d        S # 1 sw Y   y xY wr>   r3   )rH   kwargsfr@   s     r   wrapperz*progress_message.__call__.<locals>.wrapperZ   s(     *$)&)* * *s   )rH   zP.argsrS   zP.kwargsr2   rP   )	functoolswraps)r@   rT   rU   s   `` r   __call__zprogress_message.__call__Y   s%    			* 
	* r   )rT   Callable[P, R]r2   rY   r3   )r4   rO   rP   __classdict__s      r   z <generic parameters of __call__>z1progress_message.<generic parameters of __call__>Y   s    a r   N)r?   r   r   boolr2   None)r2   r\   )rI   ztype[BaseException] | NonerJ   zBaseException | NonerK   zTracebackType | Noner2   r[   )r8   r9   r:   rA   rC   rM   rX   __classdictcell__)rZ   s   @r   r<   r<   >   sF    59 A' " !	
 
& r   r<   )r   r   r2   r   )
__future__r   rV   sphinx._cli.util.colourr   r   sphinx.localer   sphinx.utilr   TYPE_CHECKINGcollections.abcr   r	   r
   typesr   typingr   	getLoggerr8   r$   r   r0   	Exceptionr7   r<   r3   r   r   <module>rh      ss    "  B  <<#			8	$ +8 @	) 	! !r   