Your IP : 216.73.216.213


Current Path : /opt/alt/python37/lib64/python3.7/site-packages/twisted/conch/ui/__pycache__/
Upload File :
Current File : //opt/alt/python37/lib64/python3.7/site-packages/twisted/conch/ui/__pycache__/ansi.cpython-37.pyc

B

:��]
�@sxdZddlZddlmZGdd�d�ZGdd�d�Zd�edjej��Z	iZ
x$ejD]ZxeD]Zee
e<q^WqTW[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�H/opt/alt/python37/lib64/python3.7/site-packages/twisted/conch/ui/ansi.py�
<listcomp>szColorText.<listcomp>)ZBlackZRedZGreenZYellowZBlueZMagentaZCyan�Whitec		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)rr9r:rrrr@s
zAnsiParser.__init__cCs�d}d}d}t|�}xn||kr�|dkr8||tkr8d}n@|rx|�d|�}|dkr`|||d�S||||�}|}d}|d}qW|S)zF
        Remove all ANSI color escapes from the given string.
        r8r7r����N)r%�_sets�find)r�string�resultZshow�i�L�nrrr�stripEscapesHs 
zAnsiParser.stripEscapescCsdS)Nr)rZcolorstrrrr�writeString^szAnsiParser.writeStringc	Cs�|jr|j|}d|_|�d�}t|�dkrD|�|�|d���n:|�|�|d���x"|dd�D�]}t|�}d}d}x(||kr�||tjdkr�P|d7}q�W|s�d|_dS|ddkr�|�|�||dd���qhn|dd�}|d8}||dk�rd|_dSt�||d�}|dk�r*qh|t	j
k�rn|�|d|d��||dd�}|�|�|��qh|t	jk�r�|d|d�||dd�}}|�
|�|�|�|��qh|t	jk�r|d|d�||dd�}}|�|�|�|�|��qh|t	jk�r0||dd�}|�|�|��qh||k�rFd||_qht�d	||f�||dd�}|�|�|��qhWdS)
zK
        Turn a string input into a list of L{ColorText} elements.
        r8r>r7rNz[;?�[zUnhandled ANSI control type: %c)r=�splitr%rH�
formatTextrB�digits�_setmap�getr&�	COLOR_SET�
parseColor�
CURSOR_SET�parseCursor�	ERASE_SET�
parseErase�MODE_SETr�msg)	r�str�partsr.rErD�type�cursor�eraserrr�parseStringasb



"
"

zAnsiParser.parseStringcCs�|dd�}|sd}ytt|�d��}Wn<tk
rdt�dt|�|f�|j|j|_	|_
dSX�xz|D�]p}|dkr�|j|j|_	|_
d\|_|_|_
|_d|_qn|dkr�d|_qnd	|kr�d
kr�nn|d	|_	qnd|k�r�dk�rnn|d|_
qn|d
k�r|j|_	qn|dk�r.|j|_
qn|dk�r@d|_
qn|dk�rRd|_qn|dk�rdd|_qn|dk�rvd|_qn|dk�r�d|_qn|dk�r�d|_
qn|dk�r�d|_qn|dk�r�d|_qn|dk�r�d|_qnt�d|f�qnWdS)z5
        Handle a single ANSI color sequence
        Nr?�0�;z$Invalid ANSI color sequence (%d): %sr)rrrrr7��%�(�/�'�1���������z#Unrecognised ANSI color command: %d)�map�intrJ�
ValueErrorrrVr%r9r:r;r<rrrrrZblink)rrWrXrrrrrP�sV












zAnsiParser.parseColorcCsdS)Nr)rrZrrrrR�szAnsiParser.parseCursorcCsdS)Nr)rr[rrrrT�szAnsiParser.parseErasecCs*|rtj|S|jr||p$tj|SdS)N)rr!r)r�value�modeZBOLDrrr�	pickColor�s
zAnsiParser.pickColorc	Cs4t||�|jd�|�|jd�|j|j|j|j|j�S)Nrr7)	rrsr;r<rrrrr)rrrrrrK�s
zAnsiParser.formatTextN)rrrr rQrSrUZ
ASSIGN_SETrO�SETSrrGrHr\rPrRrTrr#rsrKrrrrr&*s =5r&r8)
r rBZtwisted.pythonrrr&�joinrnrtr@rMr.rrrrr�<module>sA