HOME


Mini Shell 1.0
DIR: /usr/lib/python3/dist-packages/twisted/conch/ui/__pycache__/
Upload File :
Current File : //usr/lib/python3/dist-packages/twisted/conch/ui/__pycache__/ansi.cpython-312.pyc
�

Ϫ�f����dZddlZddlmZe�ZGd�d�ZGd�d�Zdjedjej��Z
iZejD]ZeD]Z
eee
<�	�[y)	zGModule to parse ANSI escape sequences

Maintainer: Jean-Paul Calderone
�N)�Loggerc�j�eZdZdZdZed�eD��Zeee��\Z	Z
ZZZ
ZZZdZd�Zy)�	ColorTextzb
    Represents an element of text along with the texts colors and
    additional attributes.
    )�b�r�g�y�l�m�c�wc#�<K�|]}|j����y�w�N)�upper)�.0�xs  �7/usr/lib/python3/dist-packages/twisted/conch/ui/ansi.py�	<genexpr>zColorText.<genexpr>s����2�a����	�2�s�)�Black�Red�Green�Yellow�Blue�Magenta�Cyan�Whitec	���|||c|_|_|_||_||_||_||_||_|jr$|j|jc|_|_yyr)�text�fg�bg�display�bold�	underline�flash�reverse)	�selfrrr r!r"r#r$r%s	         r�__init__zColorText.__init__)s_��&*�B��#��	�4�7�D�G������	�"�����
�����<�<�#�w�w�����D�G�T�W��N)�__name__�
__module__�__qualname__�__doc__�COLORS�tuple�BOLD_COLORS�range�len�BLACK�RED�GREEN�YELLOW�BLUE�MAGENTA�CYAN�WHITE�COLOR_NAMESr'�r(rrrsI���6�F��2�6�2�2�K�<A�#�f�+�<N�9�E�3��v�t�W�d�E�	�K�0r(rc��eZdZdZdZdZdZdZdZeeeeefZ	d�Z
d�Zd	�Zd
�Z
d�Zd�Zd
�Zej$fd�Zd�Zy)�
AnsiParserz&
    Parser class for ANSI codes.
    )�H�f�A�B�C�D�R�s�u�d�G)�J�K�P)�hr
)�p)rc��||c|_|_|j|jc|_|_d\|_|_|_|_d|_d|_	y)N�rrrr��)
�	defaultFG�	defaultBG�	currentFG�	currentBGr"r$r#r%r!�prepend)r&rRrSs   rr'zAnsiParser.__init__JsN��)2�I�&�����)-������&�����>H�;��	�4�:�t�~�t�|������r(c���d}d}d}t|�}||krL|dk(r||tvrd}n.|r,|jd|�}|dk(r|||dzS||||z}|}d}|dz}||kr�L|S)zF
        Remove all ANSI color escapes from the given string.
        rQrPr����N)r1�_sets�find)r&�string�result�show�i�L�ns       r�stripEscapeszAnsiParser.stripEscapesQs�������
����K���!�e��q�y�V�A�Y�%�/�����F�K�K���*����7�!�F�1�2�J�.�.�#�f�Q�q�k�1�F��A��D��A��A��!�e��
r(c��yrr;)r&�colorstrs  r�writeStringzAnsiParser.writeStringg���r(c��|jr|j|z}d|_|jd�}t|�dk(r$|j|j	|d��y|j|j	|d��|ddD�]<}t|�}d}d}||kr$||t
jdzvrn|dz
}||kr�$|s	d|_y|ddk7r'|j|j	||dzd���v|dd}|dz}||dz
k(r	d|_ytj||d�}|���|tjk(rA|j|d|dz�||dzd}|j|j	|����|tjk(rC|d|dz||dzd}}|j|�|j|j	|����W|tjk(rC|d|dz||dzd}}|j|�|j|j	|�����|tj k(r*||dzd}|j|j	|�����||k(rd|z|_���t"j%d	||�
�||dzd}|j|j	|����?y)zK
        Turn a string input into a list of L{ColorText} elements.
        rQrXrPrNz[;?�[z+Unhandled ANSI control type: {control_type})�control_type)rV�splitr1re�
formatTextr\�digits�_setmap�getr=�	COLOR_SET�
parseColor�
CURSOR_SET�parseCursor�	ERASE_SET�
parseErase�MODE_SET�_log�warn)	r&�str�partsrEr`r_�type�cursor�erases	         r�parseStringzAnsiParser.parseStringjs���
�<�<��,�,��$�C��D�L��	�	�&�!���u�:��?����T�_�_�U�1�X�6�7����T�_�_�U�1�X�6�7��1�2�Y�/
9����F�������!�e���t�6�=�=�5�#8�8����F�A��!�e��#)�D�L���Q�4�3�;��$�$�T�_�_�Q�q�1�u�w�Z�%@�A���!�"��A���F�A���A��:�#*�D�L���{�{�1�Q�4��.���<���:�/�/�/��O�O�A�g��A��J�/��!�a�%�'�
�A��$�$�T�_�_�Q�%7�8��Z�2�2�2� !�'�A��E�
�A�a�!�e�g�J�A�F��$�$�V�,��$�$�T�_�_�Q�%7�8��Z�1�1�1� ��1�q�5�z�1�Q��U�W�:�1�E��O�O�E�*��$�$�T�_�_�Q�%7�8��Z�0�0�0��!�a�%�'�
�A��$�$�T�_�_�Q�%7�8��!�V�#*�Q�;�D�L��I�I�E�TU�VW�TX����!�a�%�'�
�A��$�$�T�_�_�Q�%7�8�_/
9r(c��|dd}|sd}	tt|jd��}|D�]K}|dk(rF|j|jc|_|_	d\|_
|_|_|_
d	|_�O|d	k(rd	|_
�\d
|cxkrdkrnn|d
z
|_�ud|cxkrd
krnn|dz
|_	��|dk(r|j|_��|dk(r|j|_	��|dk(rd	|_��|dk(rd	|_��|dk(rd	|_
��|dk(rd|_��|dk(rd|_
��|dk(r	d|_��|dk(r	d|_��|dk(r	d|_
��'|dk(r	d	|_��5tjd|����Ny#t$r=tjd|��|j|jc|_|_	YywxYw)z5
        Handle a single ANSI color sequence
        NrY�0�;z)Invalid ANSI color sequence: {sequence!r})�sequencerrOrP��%�(�/�'�1���������z*Unrecognised ANSI color command: {command})�command)�map�intrj�
ValueErrorrv�errorrRrSrTrUr"r$r#r%r!�blink)r&rxryrs    rrpzAnsiParser.parseColor�s���
�#�2�h����C�	���S�Y�Y�s�^�,�E��"	T�A��A�v�15������.�����FP�C��	�4�:�t�~�t�|� ����a����	��q��B��!"�R�����q��B��!"�R�����b��!%������b��!%������a��!"����a����
��a�� ����a�� ����b����	��b��!"����b����
��b�� ����b�� ����
�
�G�QR�
�S�E"	T���	��J�J�B�S�J�Q�-1�^�^�T�^�^�*�D�N�D�N��	�s�E<�<AG�Gc��yrr;)r&r{s  rrrzAnsiParser.parseCursor�rfr(c��yrr;)r&r|s  rrtzAnsiParser.parseErase�rfr(c�|�|rtj|S|jxr||xstj|Sr)rr-r")r&�value�mode�BOLDs    r�	pickColorzAnsiParser.pickColor�s9����#�#�E�*�*��9�9�,��e��G�	�0@�0@��0G�Gr(c
���t||j|jd�|j|jd�|j|j
|j|j|j�S)NrrP)	rr�rTrUr!r"r#r$r%)r&rs  rrkzAnsiParser.formatText�sY�����N�N�4�>�>�1�-��N�N�4�>�>�1�-��L�L��I�I��N�N��J�J��L�L�	
�		
r(N)r)r*r+r,rqrsru�
ASSIGN_SETro�SETSr'rbrer}rprrrtrr/r�rkr;r(rr=r=4sw���
I�J� �I��H��J��I��	�8�Z��C�D���,
�=9�~3T�j
�
�+4�*?�*?�H�

r(r=rQ)r,r\�twisted.loggerrrvrr=�joinr�r�rZrmrErr;r(r�<module>r�s���
�
�"�
�x��0�0�D@
�@
�F	����B�G�G�Z�_�_�-�.��
��	����A�
������
���r(