o
    vi2	                     @   sT   d Z ddlZddlmZ G dd dZdeeeeef   dee defd	d
ZdS )zEContains utilities to print stuff to the terminal (styling, helpers).    N)Unionc                   @   s   e Zd ZdZdZdZdZdZdZdZ	dZ
ed	ed
efddZed	ed
efddZed	ed
efddZed	ed
efddZed	ed
efddZed	ed
efddZed	eded
efddZdS )ANSIz;
    Helper for en.wikipedia.org/wiki/ANSI_escape_code
    z[34mz[1mz[90mz[32mz[31mz[0mz[33msreturnc                 C      |  || jS N)_format_blueclsr    r   ^/home/air/biblejyuku/back/venv/lib/python3.10/site-packages/huggingface_hub/utils/_terminal.pyblue!      z	ANSI.bluec                 C   r   r   )r   _boldr
   r   r   r   bold%   r   z	ANSI.boldc                 C   r   r   )r   _grayr
   r   r   r   gray)   r   z	ANSI.grayc                 C   r   r   )r   _greenr
   r   r   r   green-   r   z
ANSI.greenc                 C   s   |  || j| j S r   )r   r   _redr
   r   r   r   red1   s   zANSI.redc                 C   r   r   )r   _yellowr
   r   r   r   yellow5   r   zANSI.yellowcodec                 C   s"   t jdr|S | | | j S )NNO_COLOR)osenvironget_reset)r   r   r   r   r   r   r   9   s   zANSI._formatN)__name__
__module____qualname____doc__r	   r   r   r   r   r   r   classmethodstrr   r   r   r   r   r   r   r   r   r   r   r      s.    r   rowsheadersr   c                 C   s   dd t g | |R  D }dt| j| }g }||j|  ||jdd |D   | D ]
}||j|  q0d|S )z
    Inspired by:

    - stackoverflow.com/a/8356620/593036
    - stackoverflow.com/questions/9535954/printing-lists-as-tabular-data
    c                 S   s   g | ]}t d d |D qS )c                 s   s    | ]	}t t|V  qd S r   )lenr%   ).0xr   r   r   	<genexpr>H   s    z&tabulate.<locals>.<listcomp>.<genexpr>)max)r)   colr   r   r   
<listcomp>H   s    ztabulate.<locals>.<listcomp>z{{:{}}} c                 S   s   g | ]}d | qS )-r   )r)   wr   r   r   r.   L   s    
)zipr(   formatappendjoin)r&   r'   
col_widths
row_formatlinesrowr   r   r   tabulateA   s   
r:   )	r#   r   typingr   r   listr%   intr:   r   r   r   r   <module>   s
   .-