o
    .i                     @   s   d Z ddlZddlZddlZddlZddlZddlmZ dZe	d\Z
ZZZZZZZdZdZdZe d	kZejd
ZejdZeoHedZerMdndZerSdndZdd ZG dd dZ dd Z!dd Z"dddZ#dS )zTerminals and colors.    N)reduce)colored   z[%dmz[0mz[1;%dmWindowsITERM_PROFILETERMscreenz
Ptmux;]z]z\c                 C   s   t |  S N)	COLOR_SEQ)s r   L/var/www/html/philips/venv/lib/python3.10/site-packages/celery/utils/term.pyfg   s   r   c                   @   s   e Zd ZdZdd Zdd Zdd Zdd	 Zd
d Zdd Z	dd Z
dd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zd d! Zd"d# Zd$d% Zd&d' Zd(d) Zd*d+ Zd,d- Zd.d/ Zd0d1 Zd2d3 Zd4d5 Zd6d7 Zd8d9 Zd:d; Z d<d= Z!d>S )?r   a"  Terminal colored text.

    Example:
        >>> c = colored(enabled=True)
        >>> print(str(c.red('the quick '), c.blue('brown ', c.bold('fox ')),
        ...       c.magenta(c.underline('jumps over')),
        ...       c.yellow(' the lazy '),
        ...       c.green('dog ')))
    c              	   O   sT   || _ t o|dd| _|dd| _| j| j| j| j| j	| j
| j| jd| _d S )NenabledTop )blackredgreenyellowbluemagentacyanwhite)r   
IS_WINDOWSgetr   r   r   r   r   r   r   r   r   r   names)selfr   kwargsr   r   r   __init__,   s   zcolored.__init__c                 C   s   t |t | S r
   str)r   abr   r   r   _add;      zcolored._addc                 C   sf   z|  }W n ty   t|}Y nw z|  }W n ty'   t|}Y nw dt|t|fS Nr   )no_colorAttributeErrorr"   join)r   r#   r$   ABr   r   r   _fold_no_color>   s   zcolored._fold_no_colorc                 C   s   | j rtt| j| j S dS r'   )r   r"   r   r-   r   r   r   r   r(   J   s   zcolored.no_colorc                 C   s0   d}| j r| j}dt|tt| j| jfS r'   )r   r   r*   r"   r   r%   r   )r   prefixr   r   r   embedO   s    zcolored.embedc                 C   s(   d}| j rt}td|  t|fS r'   )r   	RESET_SEQr"   r*   r0   )r   suffixr   r   r   __str__U   s   zcolored.__str__c                 C   s   | j || j|dS )N)r   r   )	__class__r   )r   r   r   r   r   r   node[      zcolored.nodec                 G      |  |tdt S N   )r5   r   BLACKr   r   r   r   r   r   ^   r6   zcolored.blackc                 G   r7   r8   r5   r   REDr;   r   r   r   r   a   r6   zcolored.redc                 G   r7   r8   r5   r   GREENr;   r   r   r   r   d   r6   zcolored.greenc                 G   r7   r8   r5   r   YELLOWr;   r   r   r   r   g   r6   zcolored.yellowc                 G   r7   r8   r5   r   BLUEr;   r   r   r   r   j   r6   zcolored.bluec                 G   r7   r8   r5   r   MAGENTAr;   r   r   r   r   m   r6   zcolored.magentac                 G   r7   r8   r5   r   CYANr;   r   r   r   r   p   r6   zcolored.cyanc                 G   r7   r8   r5   r   WHITEr;   r   r   r   r   s   r6   zcolored.whitec                 C   s   t |  S r
   )reprr(   r.   r   r   r   __repr__v   s   zcolored.__repr__c                 G      |  |td S )N   r5   OP_SEQr;   r   r   r   boldy   r&   zcolored.boldc                 G   rL   )N   rN   r;   r   r   r   	underline|   r&   zcolored.underlinec                 G   rL   )N   rN   r;   r   r   r   blink   r&   zcolored.blinkc                 G   rL   )N   rN   r;   r   r   r   reverse   r&   zcolored.reversec                 G   rL   )Nr   rN   r;   r   r   r   bright   r&   zcolored.brightc                 G   r7   N(   r<   r;   r   r   r   ired   r6   zcolored.iredc                 G   r7   rX   r>   r;   r   r   r   igreen   r6   zcolored.igreenc                 G   r7   rX   r@   r;   r   r   r   iyellow   r6   zcolored.iyellowc                 G   r7   rX   rB   r;   r   r   r   iblue   r6   zcolored.ibluec                 G   r7   rX   rD   r;   r   r   r   imagenta   r6   zcolored.imagentac                 G   r7   rX   rF   r;   r   r   r   icyan   r6   zcolored.icyanc                 G   r7   rX   rH   r;   r   r   r   iwhite   r6   zcolored.iwhitec                 G   s   |  |pdgtS r'   )r5   r1   r;   r   r   r   reset   s   zcolored.resetc                 C   s   t | t | S r
   r!   )r   otherr   r   r   __add__   r&   zcolored.__add__N)"__name__
__module____qualname____doc__r    r%   r-   r(   r0   r3   r5   r   r   r   r   r   r   r   r   rK   rP   rR   rT   rV   rW   rZ   r[   r\   r]   r^   r_   r`   ra   rc   r   r   r   r   r   !   s@    
r   c                   C   s   t j otS r
   )sysstdinisattyr   r   r   r   r   supports_images   s   rk   c                 C   sX   t j| dd}t| }t|tr|n|dW  d    S 1 s%w   Y  d S )Nrb)modeascii)codecsopenbase64	b64encoderead
isinstancer"   decode)pathfhencodedr   r   r   _read_as_base64   s   $ry   rM   c                 K   s   dt ||t| tf S )Nz2
%s1337;File=inline=%d;preserveAspectRatio=%d:%s%s)_IMG_PREry   	_IMG_POST)rv   inlinepreserve_aspect_ratior   r   r   r   imgcat   s   r~   )rM   r   )$rg   rq   ro   osplatformrh   	functoolsr   __all__ranger:   r=   r?   rA   rC   rE   rG   rI   rO   r1   r   systemr   environr   r   r   
startswithTERM_IS_SCREENrz   r{   r   r   rk   ry   r~   r   r   r   r   <module>   s0     