HEX
Server: Apache
System: Linux scp1.abinfocom.com 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: confeduphaar (1010)
PHP: 8.1.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //usr/lib/python3/dist-packages/click/__pycache__/_winconsole.cpython-38.pyc
U

L�[#�@s4ddlZddlZddlZddlZddlZddlZddlZddlmZm	Z	m
Z
ddlmZmZm
Z
mZmZmZmZmZmZmZmZzddlmZejZejZWnek
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�Z4edk�r~dZ5n
d/dd�Z5Gdd�dej6�Z7Gdd�de7�Z8Gdd�de7�Z9Gdd�de:�Z;Gdd�de:�Z<e=�Z>d d!�Z?d"d#�Z@d$d%�ZAd&d'�ZBe
�rd(d)�ZCeC�ZDd*d+�ZEe@eAeBd,�ZFd-d.�ZGdS)0�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�CommandLineToArgvWi����i����i��i���i�c@sjeZdZdefdefdefdefdefdefdefdefd	efd
efdefgZ	e
rfe	�dd
edf�dS)�	Py_buffer�buf�obj�len�itemsize�readonly�ndim�format�shape�strides�
suboffsetsZinternal���Z
smalltablerN)�__name__�
__module__�__qualname__rrr
rr
�	c_ssize_pZ_fields_r�insert�r*r*�3/usr/lib/python3/dist-packages/click/_winconsole.pyr@s�rFc	CsTt�}|rtnt}tt|�t|�|�zt|j}|�	|j
�W�Stt|��XdS�N)r�PyBUF_WRITABLE�PyBUF_SIMPLE�PyObject_GetBufferrr�PyBuffer_Releaser	rZfrom_addressr)r�writabler�flagsZbuffer_typer*r*r+�
get_bufferXs
r3c@seZdZdd�Zdd�ZdS)�_WindowsConsoleRawIOBasecCs
||_dSr,)�handle)�selfr5r*r*r+�__init__esz!_WindowsConsoleRawIOBase.__init__cCstj�|�dS�NT)�io�	RawIOBase�isatty�r6r*r*r+r;hsz_WindowsConsoleRawIOBase.isattyN)r%r&r'r7r;r*r*r*r+r4csr4c@seZdZdd�Zdd�ZdS)�_WindowsConsoleReadercCsdSr8r*r<r*r*r+�readableosz_WindowsConsoleReader.readablecCs�t|�}|sdS|dr td��t|dd�}|d}t�}t|j||t|�d�}t�tkrdt	�
d�|svtdt���|dtkr�dSd|j
S)Nrrz>cannot read odd number of bytes from UTF-16-LE encoded consoleT)r1g�������?zWindows error: %s)r�
ValueErrorr3r�ReadConsoleWr5r�GetLastError�ERROR_OPERATION_ABORTED�time�sleep�OSError�EOF�value)r6�bZbytes_to_be_read�bufferZcode_units_to_be_readZcode_units_read�rvr*r*r+�readintors&
�

z_WindowsConsoleReader.readintoN)r%r&r'r>rKr*r*r*r+r=msr=c@s(eZdZdd�Zedd��Zdd�ZdS)�_WindowsConsoleWritercCsdSr8r*r<r*r*r+r1�sz_WindowsConsoleWriter.writablecCs |tkrdS|tkrdSd|S)N�
ERROR_SUCCESS�ERROR_NOT_ENOUGH_MEMORYzWindows error %s)rMrN)�errnor*r*r+�_get_error_message�s
z(_WindowsConsoleWriter._get_error_messagecCsht|�}t|�}t|t�d}t�}t|j||t|�d�d|j}|dkrd|dkrdt	|�
t����|S)Nrr)rr3�min�MAX_BYTES_WRITTENr�
WriteConsoleWr5rrGrErPrA)r6rHZbytes_to_be_writtenrZcode_units_to_be_writtenZcode_units_writtenZ
bytes_writtenr*r*r+�write�s ��
�
z_WindowsConsoleWriter.writeN)r%r&r'r1�staticmethodrPrTr*r*r*r+rL�s
rLc@sHeZdZdd�Zedd��Zdd�Zdd�Zd	d
�Zdd�Z	d
d�Z
dS)�
ConsoleStreamcCs||_||_dSr,)�_text_streamrI)r6�text_streamZbyte_streamr*r*r+r7�szConsoleStream.__init__cCs|jjSr,)rI�namer<r*r*r+rY�szConsoleStream.namecCsDt|t�r|j�|�Sz|��Wntk
r6YnX|j�|�Sr,)�
isinstancerrWrT�flush�	ExceptionrI)r6�xr*r*r+rT�s
zConsoleStream.writecCs|D]}|�|�qdSr,)rT)r6�lines�liner*r*r+�
writelines�szConsoleStream.writelinescCst|j|�Sr,)�getattrrW�r6rYr*r*r+�__getattr__�szConsoleStream.__getattr__cCs
|j��Sr,)rIr;r<r*r*r+r;�szConsoleStream.isattycCsd|j|jfS)Nz#<ConsoleStream name=%r encoding=%r>)rY�encodingr<r*r*r+�__repr__�s�zConsoleStream.__repr__N)r%r&r'r7�propertyrYrTr`rcr;rer*r*r*r+rV�s
	rVc@s(eZdZdZdd�Zdd�Zdd�ZdS)	�WindowsChunkedWriterz�
    Wraps a stream (such as stdout), acting as a transparent proxy for all
    attribute access apart from method 'write()' which we wrap to write in
    limited chunks due to a Windows limitation on binary console streams.
    cCs
||_dSr,)�_WindowsChunkedWriter__wrapped)r6�wrappedr*r*r+r7�szWindowsChunkedWriter.__init__cCst|j|�Sr,)rarhrbr*r*r+rc�sz WindowsChunkedWriter.__getattr__cCsHt|�}d}||krDt||t�}|j�||||��||7}qdS)Nr)rrQrRrhrT)r6�textZtotal_to_writeZwrittenZto_writer*r*r+rT�szWindowsChunkedWriter.writeN)r%r&r'�__doc__r7rcrTr*r*r*r+rg�srgcCsDtr@t��dd�dkr@|tkr@tt|ttt|���t�|�dS)Nr)�r)r�sysZgetwindowsversion�_wrapped_std_streams�setattrrgra�add)rYr*r*r+�_wrap_std_stream�s rqcCs$tt�tt��dddd�}t||�S�N�	utf-16-le�strictT)�line_buffering)rr9�BufferedReaderr=�STDIN_HANDLErV�Z
buffer_streamrXr*r*r+�_get_text_stdin�s�rycCs$tt�tt��dddd�}t||�Srr)rr9�BufferedWriterrL�
STDOUT_HANDLErVrxr*r*r+�_get_text_stdout�s�r|cCs$tt�tt��dddd�}t||�Srr)rr9rzrL�
STDERR_HANDLErVrxr*r*r+�_get_text_stderr�s�r~cCst�d�tjdd���S)N�r)�zlibZcrc32�joinrm�argvr*r*r*r+�
_hash_py_argvsr�cs�td�}tt�t|����fdd�td|j�D�}ttd�s�|dd�}t|�dkr�|d}|�	d�r�|dkrpq�|dd�}|�	d�rHq�qH|dd�S)Nrcsg|]}�|�qSr*r*)�.0�i�Zargv_unicoder*r+�
<listcomp>sz%_get_windows_argv.<locals>.<listcomp>�frozenr�-)z-cz-m)
rrrr�rangerG�hasattrrmr�
startswith)Zargcr��argr*r�r+�_get_windows_argv	s

r�)rrrcCs|tdk	rx|dkrx|dkrxt|d�rx|��rxt�|���}|dk	rxts^t|dd�}|dkrpdSnt�	|��t
j�||�SdS)N)rsN)rtNr;rI)r3r�r;�_stream_factories�get�filenorra�msvcrtZsetmode�osZO_BINARY)�frd�errors�funcr*r*r+�_get_windows_console_stream"s"����r�)F)Hr9r�rmr�rCZctypesr�Z_compatrrrrrrr	r
rrr
rrrrr/r0�ImportErrorZctypes.wintypesrrr(Zkernel32ZGetStdHandler@rSrArZshell32rrwr{r}r.r-rMrNrBZSTDIN_FILENOZ
STDOUT_FILENOZ
STDERR_FILENOrFrRZ	Structurerr3r:r4r=rL�objectrVrg�setrnrqryr|r~r�Z_initial_argv_hashr�r�r�r*r*r*r+�<module>s�4

���


$�