Your IP : 216.73.216.85


Current Path : /opt/alt/python35/lib/python3.5/site-packages/click/__pycache__/
Upload File :
Current File : //opt/alt/python35/lib/python3.5/site-packages/click/__pycache__/_winconsole.cpython-35.pyc



�Wn�@s�ddlZddlZddlZddlZddlZddlZddlZddlmZm	Z	m
Z
ddlmZmZm
Z
mZmZmZmZmZmZmZmZy&ddlmZejZejZWnek
r�dZYnXddlmZmZee�ZejZejZej Z ej!Z!ej"Z"ee�dejf�Z#eee�eee
��dej$f�Z%ed*�Z&ed+�Z'ed,�Z(dZ)dZ*dZ+dZ,d
Z-dZ.dZ/dZ0dZ1dZ2Gdd�dej3�Z4edkr"dZ5nddd�Z5Gdd�dej6�Z7Gdd�de7�Z8Gdd�de7�Z9Gdd�de:�Z;dd�Z<d d!�Z=d"d#�Z>e
r�d$d%�Z?e?�Z@d&d'�ZAde<de=de>iZBd(d)�ZCdS)-�N)�_NonClosingTextIOWrapper�	text_type�PY2)�byref�POINTER�c_int�c_char�c_char_p�c_void_p�	py_object�	c_ssize_t�c_ulong�windll�WINFUNCTYPE)�	pythonapi)�LPWSTR�LPCWSTR�GetCommandLineW�CommandLineToArgvW�
����i��si�c@s�eZdZdefdefdefdefdefdefdefdefd	efd
efdefgZ	e
r�e	jdd
edf�dS)�	Py_buffer�buf�obj�len�itemsize�readonly�ndim�format�shape�strides�
suboffsetsZinternalrZ
smalltablerN���)�__name__�
__module__�__qualname__r
rrrr	�	c_ssize_p�_fields_r�insert�r-r-�B/opt/alt/python35/lib/python3.5/site-packages/click/_winconsole.pyr@s										rFcCspt�}|rtnt}tt|�t|�|�z!t|j}|j|j	�SWdt
t|��XdS)N)r�PyBUF_WRITABLE�PyBUF_SIMPLE�PyObject_GetBufferrrrr�from_addressr�PyBuffer_Release)r�writabler�flagsZbuffer_typer-r-r.�
get_bufferXs	
r6c@s(eZdZdd�Zdd�ZdS)�_WindowsConsoleRawIOBasecCs
||_dS)N)�handle)�selfr8r-r-r.�__init__esz!_WindowsConsoleRawIOBase.__init__cCstjj|�dS)NT)�io�	RawIOBase�isatty)r9r-r-r.r=hsz_WindowsConsoleRawIOBase.isattyN)r'r(r)r:r=r-r-r-r.r7csr7c@s(eZdZdd�Zdd�ZdS)�_WindowsConsoleReadercCsdS)NTr-)r9r-r-r.�readableosz_WindowsConsoleReader.readablecCs�t|�}|sdS|dr,td��t|dd�}|d}t�}t|j||t|�d�}t�tkr�t	j
d�|s�tdt���|dtkr�dSd|j
S)Nrrz>cannot read odd number of bytes from UTF-16-LE encoded consoler4Tg�������?zWindows error: %s)r�
ValueErrorr6r
�ReadConsoleWr8r�GetLastError�ERROR_OPERATION_ABORTED�time�sleep�OSError�EOF�value)r9�bZbytes_to_be_read�bufferZcode_units_to_be_readZcode_units_read�rvr-r-r.�readintors"

	
z_WindowsConsoleReader.readintoN)r'r(r)r?rLr-r-r-r.r>msr>c@s:eZdZdd�Zedd��Zdd�ZdS)�_WindowsConsoleWritercCsdS)NTr-)r9r-r-r.r4�sz_WindowsConsoleWriter.writablecCs(|tkrdS|tkr dSd|S)N�
ERROR_SUCCESS�ERROR_NOT_ENOUGH_MEMORYzWindows error %s)rNrO)�errnor-r-r.�_get_error_message�s
z(_WindowsConsoleWriter._get_error_messagecCs�t|�}t|�}t|t�d}t�}t|j||t|�d�d|j}|dkr�|dkr�t	|j
t����|S)Nrr)rr6�min�MAX_BYTES_WRITTENr
�
WriteConsoleWr8rrHrFrQrB)r9rIZbytes_to_be_writtenrZcode_units_to_be_writtenZcode_units_writtenZ
bytes_writtenr-r-r.�write�s
	
z_WindowsConsoleWriter.writeN)r'r(r)r4�staticmethodrQrUr-r-r-r.rM�srMc@sjeZdZdd�Zedd��Zdd�Zdd�Zd	d
�Zdd�Z	d
d�Z
dS)�
ConsoleStreamcCs||_||_dS)N)�_text_streamrJ)r9�text_streamZbyte_streamr-r-r.r:�s	zConsoleStream.__init__cCs
|jjS)N)rJ�name)r9r-r-r.rZ�szConsoleStream.namecCsRt|t�r|jj|�Sy|j�Wntk
rAYnX|jj|�S)N)�
isinstancerrXrU�flush�	ExceptionrJ)r9�xr-r-r.rU�s
zConsoleStream.writecCs"x|D]}|j|�qWdS)N)rU)r9�lines�liner-r-r.�
writelines�s
zConsoleStream.writelinescCst|j|�S)N)�getattrrX)r9rZr-r-r.�__getattr__�szConsoleStream.__getattr__cCs
|jj�S)N)rJr=)r9r-r-r.r=�szConsoleStream.isattycCsd|j|jfS)Nz#<ConsoleStream name=%r encoding=%r>)rZ�encoding)r9r-r-r.�__repr__�szConsoleStream.__repr__N)r'r(r)r:�propertyrZrUrarcr=rer-r-r-r.rW�s	rWcCs4ttjtt��dddd�}t||�S)Nz	utf-16-le�strict�line_bufferingT)rr;�BufferedReaderr>�STDIN_HANDLErW)�
buffer_streamrYr-r-r.�_get_text_stdin�srlcCs+ttt�dddd�}t||�S)Nz	utf-16-lergrhT)rrM�
STDOUT_HANDLErW)rkrYr-r-r.�_get_text_stdout�s	rncCs+ttt�dddd�}t||�S)Nz	utf-16-lergrhT)rrM�
STDERR_HANDLErW)rkrYr-r-r.�_get_text_stderr�s	rpcCs#tjdjtjdd���S)N�r)�zlib�crc32�join�sys�argvr-r-r-r.�
_hash_py_argv�srwcs�td�}tt�t|����fdd�td|j�D�}ttd�s�|dd�}x]t|�dkr�|d}|j	d�s�|dkr�P|dd�}|j	d	�rkPqkW|dd�S)
Nrcsg|]}�|�qSr-r-)�.0�i)�argv_unicoder-r.�
<listcomp>�s	z%_get_windows_argv.<locals>.<listcomp>�frozenr�-�-c�-m)r~r)
rrrr�rangerH�hasattrrur�
startswith)Zargcrv�argr-)rzr.�_get_windows_argv�s%
r�cCs�tdk	r�|dkr�|dkr�t|d�r�|j�r�tj|j��}|dk	r�ts�t|d�}|dkr�dSntj	|j�t
j�||�SdS)N�	utf-16-lergr=rJ)r�N)rgN)r6r�r=�_stream_factories�get�filenorrb�msvcrtZsetmode�osZO_BINARY)�frd�errors�funcr-r-r.�_get_windows_console_streamsr�i����i����i�)Dr;r�rurrrD�ctypesr�Z
click._compatrrrrrrrr	r
rrr
rrrr1r3�ImportErrorZctypes.wintypesrrr*�kernel32ZGetStdHandlerArTrBr�shell32rrjrmror0r/rNrOrCZSTDIN_FILENOZ
STDOUT_FILENOZ
STDERR_FILENOrGrS�	Structurerr6r<r7r>rM�objectrWrlrnrprwZ_initial_argv_hashr�r�r�r-r-r-r.�<module>stL	

							
$