Your IP : 216.73.216.213


Current Path : /opt/alt/python37/lib/python3.7/site-packages/py/_io/__pycache__/
Upload File :
Current File : //opt/alt/python37/lib/python3.7/site-packages/py/_io/__pycache__/terminalwriter.cpython-37.pyc

B

���]23�@sdZddlZddlZddlZejddkZddlmZmZdZ	dZ
ejdkr�yddl
Z
Wn:ek
r�yddl
Z
dZ	Wnek
r�YnXYnXdd	�Zd
d�Ze�Zd0dd
�Zdd�ZGdd�de�ZGdd�de�ZGdd�de�Ze	�r�eZddl
Z
ddl
mZdZdZdZdZdZdZdZdZdZ dZ!dZ"d Z#d!Z$d"Z%e
j&Z'Gd#d$�d$e
j(�Z)Gd%d&�d&e
j(�Z*Gd'd(�d(e
j(�Z+e
j,j-j.Z/ej0ge/_1ej2e/_3d)d*�Z.e
j,j-j4Z4ej2ej5ge4_1ej6e4_3e
j,j-j7Z8ej2e
�9e+�ge8_1ej6e8_3d+d,�Z:d-d	�Zd.d/�Z;dS)1z8

Helper functions for writing to terminals and files.

�N�)�text�bytesF�win32TcCsHddl}ddl}ddl}|�d|jd�}|�d|�dd�\}}||fS)Nr�zZhhhh�)�termios�fcntl�structZioctlZ
TIOCGWINSZ�unpack)rr	r
�call�height�width�r�F/opt/alt/python37/lib/python3.7/site-packages/py/_io/terminalwriter.py�_getdimensionssrcCsfd}}yt�\}}Wn$tjjk
r0�YnYnX|dkrVttj�dd��}|dkrbd}|S)Nr�COLUMNS�P�()r�py�builtinZ_sysex�int�os�environ�get)r
rrrr�get_terminal_width!src
Cs�|dkrtj}|��}|r*t|t�s*|f}|r\tjdkr\|��r\d�dd�|D��|d}|rh|d7}|�rrt�rr|���rrd|kr�d}td	d�|D��}nd
}t	t
ttt
Bttt
BttBt	t	d�	}|�
|t	�}|r�|tO}d}d
}	|tjkr�t|	�}
nt|�}
t|
�j}||d@O}t|
|�x2t|�dk�rT|�|dd��|dd�}�q$W|�rf|�|�t|
|�n
|�|�|�r�|��dS)Nr�cSsg|]}d|�qS)z[%smr)�.0�codrrr�
<listcomp>@szansi_print.<locals>.<listcomp>z�
rTcSsg|]}|dkr|�qS)rr)r�xrrrrIsF)	r)�)� )�!)�")�#)�$)�%)�'i����i���i�)�sys�stderr�rstrip�
isinstance�tuple�platform�isatty�join�win32_and_ctypes�FOREGROUND_WHITE�FOREGROUND_RED�FOREGROUND_GREEN�FOREGROUND_BLUEr�FOREGROUND_INTENSITY�GetStdHandle�GetConsoleInfo�wAttributes�SetConsoleTextAttribute�len�write�flush)r�esc�file�newliner?�boldZesctable�attr�STD_OUTPUT_HANDLE�STD_ERROR_HANDLE�handle�	oldcolorsrrr�
ansi_print9sX





rIcCsbtj�d�dkrdStj�d�dkr(dSt|d�o`|��o`tj�d�dko`tj�d	�o^tjd
kS)NZ	PY_COLORS�1T�0Fr1ZTERMZdumb�java�nt)	rrr�hasattrr1r+r0�
startswith�_name)rArrr�should_do_markupnsrQc@s�eZdZeddddddddd	d
ddd
dddddddd�Zd,dd�Zedd��Zejdd��Zdd�Z	dd �Z
d-d!d"�Zd#d$�Zd.d&d'�Z
d(d)�Zd*d+�ZdS)/�TerminalWriter�r"r#r$r%r&r'r(r�)�*�+�,�-�.�/rr��)Zblack�red�green�yellow�blueZpurpleZcyanZwhiteZBlackZRedZGreenZYellowZBlueZPurpleZCyan�WhiterCZlightZblink�invertNFcCs�|dkr*|rtj��|_}qVtjjj}n,tj�|�rVt	|d�rJt	|d�sVt
||d�}t	|d�rx|��rxtrxt�
|�j}|p�t|dd�|_||_t|�|_d|_dS)Nr>r?)�encodingr1rczutf-8r)r�ioZTextIO�stringioZstdr+�stdoutr�callablerN�	WriteFiler1�coloramaZAnsiToWin32�stream�getattrrc�_filerQ�	hasmarkup�_lastlen)�selfrArercrrr�__init__s
zTerminalWriter.__init__cCst|d�r|jSt�S)N�_terminal_width)rNrqr)rorrr�	fullwidth�s
zTerminalWriter.fullwidthcCs
||_dS)N)rq)ro�valuerrrrr�scCs*|r&|jr&d�dd�|D��|d}|S)NrcSsg|]}d|�qS)z[%smr)rrrrrr�sz+TerminalWriter._escaped.<locals>.<listcomp>z)rmr2)rorr@rrr�_escaped�s
zTerminalWriter._escapedcKsRg}x<|D]4}||jkr&td|f��||r
|�|j|�q
W|�|t|��S)Nzunknown markup: %r)�	_esctable�
ValueError�appendrtr/)ror�kwr@�namerrr�markup�s

zTerminalWriter.markupcKs�|dkr|j}tjdkr |d8}|dk	r\|t|�ddt|�}||}d|||f}n||t|�}t|�t|���|kr�||��7}|j|f|�dS)Nrrrz%s %s %s)rrr+r0r=r-�line)roZsepchar�titlerrrx�N�fillr{rrr�sep�s
zTerminalWriter.sepcKsH|rDt|ttf�st|�}|jr4|r4|j|f|�}n|}t|j|�dS)N)r.rrrmrz�	write_outrl)ro�msgrxZ	markupmsgrrrr>�s
zTerminalWriter.writercKs&|j|f|�|�|�|�d�dS)Nr )r>�
_checkfill)ro�srxrrrr{�s
zTerminalWriter.linecKs>|jstd��|j|f|�|�|�|�d�t|�|_dS)Nz(cannot use rewrite-line without terminal�
)rmrvr>r�r=rn)ror{rxrrr�reline�s

zTerminalWriter.relinecCs(|jt|�}|dkr$|�d|�dS)Nr� )rnr=r>)ror{Z	diff2lastrrrr��szTerminalWriter._checkfill)NFN)NN)r)�__name__�
__module__�__qualname__�dictrurp�propertyrr�setterrtrzrr>r{r�r�rrrrrRws

	


rRc@seZdZdd�ZdS)�Win32ConsoleWritercKs�|r�t|ttf�st|�}d}|jr�|r�tt�}t|�j}|d@}|}|�dd�rZ|t	O}|�dd�rp|t
O}nR|�dd�r�|tO}n<|�dd�r�|tO}n&|�dd�r�|tt
BO}n||d@O}t
||�t|j|�|r�t
||�dS)	Nr*rCFr]r`r^r_r\)r.rrrmr9rEr:r;�popr8r5r7r6r<r�rl)ror�rxrHrGZ
default_bgrDrrrr>�s0





zWin32ConsoleWriter.writeN)r�r�r�r>rrrrr��sr�c@s&eZdZddd�Zdd�Zdd�ZdS)	rhNcCs||_||_dS)N)rc�_writemethod)roZwritemethodrcrrrrpszWriteFile.__init__cCs"|jr|�|jd�}|�|�dS)N�replace)rc�encoder�)ro�datarrrr>szWriteFile.writecCsdS)Nr)rorrrr?szWriteFile.flush)N)r�r�r�rpr>r?rrrrrhs
rh)�wintypesi����i�rr�r\��r#�@�p�c@seZdZdefdefgZdS)�COORD�X�YN)r�r�r��SHORT�_fields_rrrrr�%sr�c@s(eZdZdefdefdefdefgZdS)�
SMALL_RECTZLeftZTopZRightZBottomN)r�r�r�r�r�rrrrr�(sr�c@s0eZdZdefdefdejfdefdefgZdS)�CONSOLE_SCREEN_BUFFER_INFO�dwSizeZdwCursorPositionr;ZsrWindowZdwMaximumWindowSizeN)r�r�r�r�r��WORDr�r�rrrrr�-s
r�cCst|�S)N)�
_GetStdHandle)�kindrrrr97sr9cCst�}t|t�|��|S)N)r��_GetConsoleScreenBufferInfo�ctypes�byref)rG�inforrrr:Csr:cCs$tt�}t|�}|jj|jjdfS)Nr)r9rEr:r�r�r�)rGr�rrrrHscCs�y|�|�Wnltk
rz|jr\y|�|�|j��Wntk
rNYnX|��dS|�d��d�}|�|�YnX|��dS)Nzunicode-escape�ascii)r>�UnicodeEncodeErrorrcr�r?�decode)Zfilr�rrrr�Osr�)NTF)<�__doc__r+rr�version_infoZpy3kZ
py.builtinrrr3rir0�ImportErrorr�rrZterminal_widthrIrQ�objectrRr�rhr�rErFZFOREGROUND_BLACKr7r6r5r4r8ZBACKGROUND_BLACKZBACKGROUND_BLUEZBACKGROUND_GREENZBACKGROUND_REDZBACKGROUND_WHITEZBACKGROUND_INTENSITY�c_shortr��	Structurer�r�r��windll�kernel32r9r�ZDWORD�argtypesZHANDLE�restyper<r�ZBOOLZGetConsoleScreenBufferInfor��POINTERr:r�rrrr�<module>sv

5	l