Format: application/x-python-code
⬇ Download File (8.3 KB)
   1  o
   2  
   3  1'hx+�@s�ddlZddlZddlZddlmZmZmZmZmZddl	m
   4  Z
   5  mZmZm
   6  Z
   7  ddlmZmZdZ	edur7e�Z	Gdd�de�ZGdd	�d	e�ZdS)
   8  �N�)�AnsiFore�AnsiBack�	AnsiStyle�Style�BEL)�enable_vt_processing�WinTerm�WinColor�WinStyle)�windll�winapi_testc@s\eZdZdZdd�Zdd�Zdd�Zdd	�Zd
   9  d�Zdd
  10  �Z	dd�Z
  11  dd�Zedd��Z
  12  dS)�
  13  StreamWrapperz�
  14      Wraps a stream (such as stdout), acting as a transparent proxy for all
  15      attribute access apart from method 'write()', which is delegated to our
  16      Converter instance.
  17      cCs||_||_dS�N)�_StreamWrapper__wrapped�_StreamWrapper__convertor)�self�wrapped�	converter�r�JC:\Users\shubh\Videos\agent\nova\Lib\site-packages\colorama/ansitowin32.py�__init__s
  18  zStreamWrapper.__init__cCst|j|�Sr)�getattrr)r�namerrr�__getattr__szStreamWrapper.__getattr__cO�|jj|i|��Sr)r�	__enter__�r�args�kwargsrrrrszStreamWrapper.__enter__cOrr)r�__exit__rrrrr %szStreamWrapper.__exit__cCs
  19  ||_dSr��__dict__)r�staterrr�__setstate__(s
  20  zStreamWrapper.__setstate__cCs|jSrr!�rrrr�__getstate__+szStreamWrapper.__getstate__cCs|j�|�dSr)r�write�r�textrrrr'.szStreamWrapper.writecCsT|j}dtjvr|dur|tjus|tjurdSz|j}W|�Sty)YdSw)NZPYCHARM_HOSTEDTF)r�os�environ�sys�
  21  __stdout__�
  22  __stderr__�isatty�AttributeError)r�streamZ
  23  stream_isattyrrrr/1s
  24  ��zStreamWrapper.isattyc	Cs(|j}z|jWSttfyYdSw�NT)r�closedr0�
  25  ValueError)rr1rrrr3=s�zStreamWrapper.closedN)�__name__�
  26  __module__�__qualname__�__doc__rrrr r$r&r'r/�propertyr3rrrrrsrc@s�eZdZdZe�d�Ze�d�Zddd�Zdd	�Z	d
  27  d�Z
  28  dd
  29  �Zdd�Zdd�Z
  30  dd�Zdd�Zdd�Zdd�Zdd�Zdd�ZdS)�AnsiToWin32z�
  31      Implements a 'write()' method which, on Windows, will strip ANSI character
  32      sequences from the text, and if outputting to a tty, will convert them into
  33      win32 function calls.
  34      z?\[((?:\d|;)*)([a-zA-Z])?z?\]([^]*)()?NFcCs�||_||_t||�|_tjdk}|ot�}z|��}Wnty'd}Ynw|p.t	|�}|jj
  35  o8|j��}	|o=|}
  36  |durG|
  37  pF|	}||_|durR|
  38  oQ|	}||_
  39  |��|_|jtju|_dS)N�nt�����)r�	autoresetrr1r*rr
  40  �fileno�	Exceptionrr3r/�strip�convert�get_win32_calls�win32_callsr,�stderr�	on_stderr)rrrAr@r=Z
  41  on_windowsZconversion_supported�fdZsystem_has_native_ansiZhave_ttyZneed_conversionrrrrQs*
  42  
  43  �
  44  
  45  
  46  zAnsiToWin32.__init__cCs|jp|jp|jS)aj
  47          True if this class is actually needed. If false, then the output
  48          stream will not be affected, nor will win32 calls be issued, so
  49          wrapping stdout is not actually required. This will generally be
  50          False on non-Windows platforms, unless optional functionality like
  51          autoreset has been requested using kwargs to init()
  52          )rAr@r=r%rrr�should_wrapyszAnsiToWin32.should_wrapcCs�|j�rCt�rCitjtjf�tjtjtjf�tjtjtj	f�tj	tjtj	f�t
  53  jtjt
  54  jf�t
  55  jtjt
  56  jf�t
  57  jtjt
  58  jf�t
  59  jtjt
  60  jf�t
  61  jtjt
  62  jf�t
  63  jtjt
  64  jf�t
  65  jtjt
  66  jf�t
  67  jtjt
  68  jf�t
  69  jtjf�t
  70  jtjt
  71  jdf�t
  72  jtjt
  73  jdf�t
  74  jtjt
  75  jdf�t
  76  jtjt
  77  jdf�it
  78  jtjt
  79  jdf�t
  80  jtjt
  81  jdf�t
  82  jtjt
  83  jdf�t
  84  jtjt
  85  jdf�tjtj t
  86  jf�tjtj t
  87  jf�tjtj t
  88  jf�tjtj t
  89  jf�tjtj t
  90  jf�tjtj t
  91  jf�tjtj t
  92  jf�tjtj t
  93  jf�tjtj f�tjtj t
  94  jdf�tjtj t
  95  jdf�tjtj t
  96  jdf�tjtj t
  97  jdf��tjtj t
  98  jdftjtj t
  99  jdftjtj t
 100  jdftjtj t
 101  jdfi�St!�Sr2)"rA�wintermr�	RESET_ALL�	reset_allZBRIGHT�stylerZDIMZNORMALrZBLACK�forer
 102  ZREDZGREENZYELLOWZBLUEZMAGENTAZCYANZWHITEZGREY�RESETZ
 103  LIGHTBLACK_EXZLIGHTRED_EXZ
 104  LIGHTGREEN_EXZLIGHTYELLOW_EXZLIGHTBLUE_EXZLIGHTMAGENTA_EXZLIGHTCYAN_EXZ
 105  LIGHTWHITE_EXr�back�dictr%rrrrB�s�
 106  ��������	�
 107  ���
 108  
 109  �����������������
 110  �� �!�"�#�(zAnsiToWin32.get_win32_callscCsD|js|jr|�|�n|j�|�|j��|jr |��dSdSr)r@rA�write_and_convertrr'�flushr=rJr(rrrr'�s
 111  �zAnsiToWin32.writecCs>|jr|�dd�dS|js|jjs|j�tj�dSdSdS)N�m�r)	rA�
 112  call_win32r@r1r3rr'rrIr%rrrrJ�s
 113  �zAnsiToWin32.reset_allcCsbd}|�|�}|j�|�D]}|��\}}|�|||�|j|���|}q
 114  |�||t|��dS)z�
 115          Write the given text to our wrapped stream, stripping any ANSI
 116          sequences from the text, and optionally converting them into win32
 117          calls.
 118          rN)�convert_osc�ANSI_CSI_RE�finditer�span�write_plain_text�convert_ansi�groups�len)rr)�cursor�match�start�endrrrrP�s
 119  zAnsiToWin32.write_and_convertcCs.||kr|j�|||��|j��dSdSr)rr'rQ)rr)r_r`rrrrY�s�zAnsiToWin32.write_plain_textcCs&|jr|�||�}|�||�dSdSr)rA�extract_paramsrT)r�paramstring�command�paramsrrrrZ�s�zAnsiToWin32.convert_ansicCs�|dvr"tdd�|�d�D��}t|�dkr |d}t|�dks|Stdd�|�d�D��}t|�dkrB|d	vr<d
 120  }|S|dvrBd}|S)N�Hfcss(�|]}t|�dkrt|�ndVqdS)rrN�r\�int��.0�prrr�	<genexpr>�s�&z-AnsiToWin32.extract_params.<locals>.<genexpr>�;�)rcss$�|]
 121  }t|�dkrt|�VqdS)rNrfrhrrrrk�s�"rZJKmrS�ABCD)�tuple�splitr\)rrcrbrdrrrra�s���zAnsiToWin32.extract_paramscCs|dkr,|D]#}||jvr)|j|}|d}|dd�}t|jd�}||i|��qdS|dvr<tj|d|jd�dS|dvrLtj|d|jd�dS|dvrZtj||jd�dS|dvr�|d}d|fd|f|df|dfd	�|\}	}
 122  tj|	|
 123  |jd�dSdS)
 124  NrRrr)rE�J�Krern)�A�B�C�D)rCrOrErHZerase_screen�
 125  erase_lineZset_cursor_positionZ
 126  cursor_adjust)rrcrd�paramZ	func_args�funcrr�n�x�yrrrrT�s*
 127  
 128  ��*�zAnsiToWin32.call_win32cCs�|j�|�D]7}|��\}}|d|�||d�}|��\}}|tkr=|�d�dkr=|�d�}|ddvr=t�|d�q|S)NrlrrZ02)	�ANSI_OSC_RErWrXr[r�countrprH�	set_title)rr)r^r_r`rbrcrdrrrrUs
 129  �zAnsiToWin32.convert_osccCs|j��dSr)rrQr%rrrrQszAnsiToWin32.flush)NNF)r5r6r7r8�re�compilerVr}rrGrBr'rJrPrYrZrarTrUrQrrrrr:Hs 
 130  
 131  
 132  (
 133  ,
 134  r:)r�r,r*�ansirrrrrrHrr	r
 135  r�win32rr
 136  �objectrr:rrrr�<module>s8