HEX
Server: Apache
System: Linux scp1.abinfocom.com 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: confeduphaar (1010)
PHP: 8.1.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //lib/python3/dist-packages/twisted/conch/ui/__pycache__/ansi.cpython-38.pyc
U


W[
�@spdZddlZddlmZGdd�d�ZGdd�d�Zd�edjej��Z	iZ
ejD]ZeD]Zee
e<qZqR[dS)	zGModule to parse ANSI escape sequences

Maintainer: Jean-Paul Calderone
�N)�logc@sNeZdZdZdZedd�eD��Zeee��\Z	Z
ZZZ
ZZZdZdd�ZdS)	�	ColorTextzb
    Represents an element of text along with the texts colors and
    additional attributes.
    )�b�r�g�y�l�m�c�wcCsg|]}|���qS�)�upper)�.0�xrr�7/usr/lib/python3/dist-packages/twisted/conch/ui/ansi.py�
<listcomp>szColorText.<listcomp>)ZBlackZRedZGreenZYellowZBlueZMagentaZCyanZWhitec		CsP||||_|_|_||_||_||_||_||_|jrL|j|j|_|_dS�N)�text�fg�bg�display�bold�	underline�flash�reverse)	�selfrrrrrrrrrrr�__init__szColorText.__init__N)�__name__�
__module__�__qualname__�__doc__�COLORS�tuple�BOLD_COLORS�range�lenZBLACKZREDZGREENZYELLOWZBLUEZMAGENTAZCYANZWHITEZCOLOR_NAMESrrrrrrsrc@s�eZdZdZdZdZdZdZdZeeeeefZ	dd�Z
d	d
�Zdd�Zd
d�Z
dd�Zdd�Zdd�Zejfdd�Zdd�ZdS)�
AnsiParserz&
    Parser class for ANSI codes.
    )�H�f�A�B�C�D�R�s�u�d�G)�J�K�P)�hr)�p)r	cCsD|||_|_|j|j|_|_d\|_|_|_|_d|_d|_	dS)N�rrrr��)
�	defaultFG�	defaultBG�	currentFG�	currentBGrrrrr�prepend)rr:r;rrrr@s
zAnsiParser.__init__cCs�d}d}d}t|�}||kr�|dkr6||tkr6d}n@|rv|�d|�}|dkr^|||d�S||||�}|}d}|d}q|S)zF
        Remove all ANSI color escapes from the given string.
        r9r8r����N)r%�_sets�find)r�string�resultZshow�i�L�nrrr�stripEscapesHs 
zAnsiParser.stripEscapescCsdSrr)rZcolorstrrrr�writeString^szAnsiParser.writeStringc	Cs||jr|j|}d|_|�d�}t|�dkrD|�|�|d���n4|�|�|d��|dd�D�]}t|�}d}d}||kr�||tjdkr�q�|d7}qz|s�d|_dS|ddkr�|�|�||dd���qdn|dd�}|d8}||dk�r
d|_dSt�||d�}|dk�r&qd|t	j
k�rj|�|d|d��||dd�}|�|�|��qd|t	jk�r�|d|d�||dd�}}|�
|�|�|�|��qd|t	jk�r�|d|d�||dd�}}|�|�|�|�|��qd|t	jk�r,||dd�}|�|�|��qd||k�rBd||_qdt�d	||f�||dd�}|�|�|��qddS)
zK
        Turn a string input into a list of L{ColorText} elements.
        r9r?r8rNz[;?�[zUnhandled ANSI control type: %c)r>�splitr%rI�
formatTextrCZdigits�_setmap�getr&�	COLOR_SET�
parseColor�
CURSOR_SET�parseCursor�	ERASE_SET�
parseErase�MODE_SETr�msg)	r�str�partsr.rFrE�type�cursor�eraserrr�parseStringasb



"
"

zAnsiParser.parseStringcCs�|dd�}|sd}ztt|�d��}Wn>tk
rft�dt|�|f�|j|j|_	|_
YdSX|D�]p}|dkr�|j|j|_	|_
d\|_|_|_
|_d|_ql|dkr�d|_qld	|kr�d
kr�nn|d	|_	qld|k�r�dk�rnn|d|_
ql|d
k�r|j|_	ql|dk�r,|j|_
ql|dk�r>d|_
ql|dk�rPd|_ql|dk�rbd|_ql|dk�rtd|_ql|dk�r�d|_ql|dk�r�d|_
ql|dk�r�d|_ql|dk�r�d|_ql|dk�r�d|_qlt�d|f�qldS)z5
        Handle a single ANSI color sequence
        Nr@�0�;z$Invalid ANSI color sequence (%d): %srr7r8��%�(�/�'�1���������z#Unrecognised ANSI color command: %d)�map�intrK�
ValueErrorrrVr%r:r;r<r=rrrrrZblink)rrWrXrrrrrP�sV













zAnsiParser.parseColorcCsdSrr)rrZrrrrR�szAnsiParser.parseCursorcCsdSrr)rr[rrrrT�szAnsiParser.parseErasecCs*|rtj|S|jr||p$tj|SdSr)rr!r)r�value�modeZBOLDrrr�	pickColor�s
zAnsiParser.pickColorc	Cs4t||�|jd�|�|jd�|j|j|j|j|j�S)Nrr8)	rrsr<r=rrrrr)rrrrrrL�s�zAnsiParser.formatTextN)rrrr rQrSrUZ
ASSIGN_SETrO�SETSrrHrIr\rPrRrTrr#rsrLrrrrr&*s =5r&r9)
r rCZtwisted.pythonrrr&�joinrnrtrArMr.rrrrr�<module>sA