a
    J5d                     @   s  U d dl Z d dlZd dlZd dlZd dlmZ d dlmZ d dlmZ d dlm	Z	 d dlm
Z
 d dlmZ d dlmZ d d	lmZ d d
lmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ ddlmZ ejdksJ d dlZd dlmZ d dlmZ ee
ZejZejZejZejZej Z ej!Z!eedejfZ"eeeeee	dej#fZ$eeedejfZ%edZ&edZ'edZ(d Z)dZ*d Z+dZ,dZ-d Z.dZ/dZ0dZ1dZ2zd d lm3Z3 W n e4y   dZ5Y n(0 G d!d" d"eZ6e3j7Z7e3j8Z8d=d$d%Z5G d&d' d'e j9Z:G d(d) d)e:Z;G d*d+ d+e:Z<G d,d- d-Z=ej>ej?d.d/d0Z@ej>ej?d.d1d2ZAej>ej?d.d3d4ZBe@eAeBd5ZCejDeEejFej>gej?f f eGd6< ej?eHd7d8d9ZIej?ejJeK ejJeK ejJej? d:d;d<ZLdS )>    N)byref)c_char)c_char_p)c_int)	c_ssize_t)c_ulong)c_void_p)POINTER)	py_object)	Structure)DWORD)HANDLE)LPCWSTR)LPWSTR   )_NonClosingTextIOWrapperwin32)windll)WINFUNCTYPEGetCommandLineWCommandLineToArgvW	LocalFreeiii   i        i  )	pythonapic                   @   sR   e Zd Zdefdefdefdefdefdefdefdefd	efd
efdefgZ	dS )	Py_bufferbufobjlenitemsizereadonlyndimformatshapestrides
suboffsetsZinternalN)
__name__
__module____qualname__r   r
   r   r   r   	c_ssize_pZ_fields_ r+   r+   M/var/www/html/django/DPS/env/lib/python3.9/site-packages/click/_winconsole.pyr   K   s   r   Fc              	   C   s^   t  }|rtnt}tt| t|| z$t|j }||j	W t
t| S t
t| 0 d S N)r   PyBUF_WRITABLEPyBUF_SIMPLEPyObject_GetBufferr
   r   r   r   Zfrom_addressr   PyBuffer_Release)r   writabler   flagsZbuffer_typer+   r+   r,   
get_buffer]   s    
r4   c                       s$   e Zd Zdd Z fddZ  ZS )_WindowsConsoleRawIOBasec                 C   s
   || _ d S r-   )handle)selfr6   r+   r+   r,   __init__j   s    z!_WindowsConsoleRawIOBase.__init__c                    s   t    dS NT)superisattyr7   	__class__r+   r,   r;   m   s    
z_WindowsConsoleRawIOBase.isatty)r'   r(   r)   r8   r;   __classcell__r+   r+   r=   r,   r5   i   s   r5   c                   @   s   e Zd Zdd Zdd ZdS )_WindowsConsoleReaderc                 C   s   dS r9   r+   r<   r+   r+   r,   readables   s    z_WindowsConsoleReader.readablec                 C   s   t |}|sdS |d r tdt|dd}|d }t }tt| j||t|d }t t	krht
d |s|tdt  |d tkrdS d|j S )Nr   r   z>cannot read odd number of bytes from UTF-16-LE encoded consoleT)r2   g?zWindows error: )r   
ValueErrorr4   r   ReadConsoleWr   r6   r   GetLastErrorERROR_OPERATION_ABORTEDtimesleepOSErrorEOFvalue)r7   bZbytes_to_be_readbufferZcode_units_to_be_readZcode_units_readrvr+   r+   r,   readintov   s0    

z_WindowsConsoleReader.readintoN)r'   r(   r)   rA   rN   r+   r+   r+   r,   r@   r   s   r@   c                   @   s(   e Zd Zdd Zedd Zdd ZdS )_WindowsConsoleWriterc                 C   s   dS r9   r+   r<   r+   r+   r,   r2      s    z_WindowsConsoleWriter.writablec                 C   s"   | t krdS | tkrdS d|  S )NERROR_SUCCESSERROR_NOT_ENOUGH_MEMORYzWindows error )rP   rQ   )errnor+   r+   r,   _get_error_message   s
    z(_WindowsConsoleWriter._get_error_messagec                 C   sl   t |}t|}t|td }t }tt| j||t|d  d|j	 }|dkrh|dkrht
| t |S )Nr   r   )r   r4   minMAX_BYTES_WRITTENr   WriteConsoleWr   r6   r   rJ   rH   rS   rD   )r7   rK   Zbytes_to_be_writtenr   Zcode_units_to_be_writtenZcode_units_writtenZbytes_writtenr+   r+   r,   write   s    
z_WindowsConsoleWriter.writeN)r'   r(   r)   r2   staticmethodrS   rW   r+   r+   r+   r,   rO      s   
rO   c                   @   s   e Zd ZejejddddZeedddZ	ej
edd	d
Zejej
 ddddZeejdddZedddZdd ZdS )ConsoleStreamN)text_streambyte_streamreturnc                 C   s   || _ || _d S r-   )_text_streamrL   )r7   rZ   r[   r+   r+   r,   r8      s    zConsoleStream.__init__)r\   c                 C   s   | j jS r-   )rL   namer<   r+   r+   r,   r^      s    zConsoleStream.name)xr\   c                 C   sB   t |tr| j|S z|   W n ty4   Y n0 | j|S r-   )
isinstancestrr]   rW   flush	ExceptionrL   )r7   r_   r+   r+   r,   rW      s    
zConsoleStream.write)linesr\   c                 C   s   |D ]}|  | qd S r-   )rW   )r7   rd   liner+   r+   r,   
writelines   s    zConsoleStream.writelines)r^   r\   c                 C   s   t | j|S r-   )getattrr]   )r7   r^   r+   r+   r,   __getattr__   s    zConsoleStream.__getattr__c                 C   s
   | j  S r-   )rL   r;   r<   r+   r+   r,   r;      s    zConsoleStream.isattyc                 C   s   d| j d| jdS )Nz<ConsoleStream name=z
 encoding=>)r^   encodingr<   r+   r+   r,   __repr__   s    zConsoleStream.__repr__)r'   r(   r)   tTextIOBinaryIOr8   propertyra   r^   AnyStrintrW   Iterablerf   Anyrh   boolr;   rk   r+   r+   r+   r,   rY      s   	rY   )buffer_streamr\   c                 C   s.   t tttdddd}ttjt|| S N	utf-16-lestrictT)line_buffering)	r   ioBufferedReaderr@   STDIN_HANDLErl   castrm   rY   ru   rZ   r+   r+   r,   _get_text_stdin   s    r   c                 C   s.   t tttdddd}ttjt|| S rv   )	r   rz   BufferedWriterrO   STDOUT_HANDLErl   r}   rm   rY   r~   r+   r+   r,   _get_text_stdout   s    r   c                 C   s.   t tttdddd}ttjt|| S rv   )	r   rz   r   rO   STDERR_HANDLErl   r}   rm   rY   r~   r+   r+   r,   _get_text_stderr   s    r   )r   r   r   _stream_factories)fr\   c              	   C   sT   t | dsdS z|  }W n ttjfy4   Y dS 0 t|}tt|t	t
 S )NfilenoF)hasattrr   rH   rz   UnsupportedOperationmsvcrtZget_osfhandlert   GetConsoleModer   r   )r   r   r6   r+   r+   r,   _is_console   s    

r   )r   rj   errorsr\   c                 C   sZ   t d urV|dv rV|dv rVt| rVt|  }|d urVt| dd }|d u rNd S ||S d S )N>   rw   N>   rx   NrL   )r4   r   r   getr   rg   )r   rj   r   funcrK   r+   r+   r,   _get_windows_console_stream  s    r   )F)Mrz   sysrF   typingrl   ctypesr   r   r   r   r   r   r   r	   r
   r   Zctypes.wintypesr   r   r   r   Z_compatr   platformr   r   r   r*   Zkernel32ZGetStdHandlerC   rV   r   rD   r   Zshell32r   r   r|   r   r   r/   r.   rP   rQ   rE   ZSTDIN_FILENOZSTDOUT_FILENOZSTDERR_FILENOrI   rU   r   ImportErrorr4   r   r0   r1   	RawIOBaser5   r@   rO   rY   rn   rm   r   r   r   r   Mappingrq   Callable__annotations__rt   r   Optionalra   r   r+   r+   r+   r,   <module>	   s   


	#  

(
