o
    96d                  	   @   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srJ 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 e4y   dZ5Y nw 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=d.ej>d/ej?fd0d1Z@d.ej>d/ej?fd2d3ZAd.ej>d/ej?fd4d5ZBe@eAeBd6ZCejDeEejFej>gej?f f eGd7< d8ej?d/eHfd9d:ZId8ej?d;ejJeK d<ejJeK d/ejJej? f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_p_fields_ r,   r,   hC:\Users\jesus\OneDrive\Desktop\erpjis_fastapi\backend\jisbackend\Lib\site-packages\click/_winconsole.pyr   K   s    r   Fc              	   C   sZ   t  }|rtnt}tt| t|| zt|j }||j	W t
t| S t
t| w N)r   PyBUF_WRITABLEPyBUF_SIMPLEPyObject_GetBufferr
   r   r   r   from_addressr   PyBuffer_Release)r   writabler   flagsZbuffer_typer,   r,   r-   
get_buffer]   s   
r6   c                       s$   e Zd Zdd Z fddZ  ZS )_WindowsConsoleRawIOBasec                 C   s
   || _ d S r.   )handle)selfr8   r,   r,   r-   __init__j      
z!_WindowsConsoleRawIOBase.__init__c                    s   t    dS NT)superisattyr9   	__class__r,   r-   r>   m   s   
z_WindowsConsoleRawIOBase.isatty)r'   r(   r)   r:   r>   __classcell__r,   r,   r@   r-   r7   i   s    r7   c                   @   s   e Zd Zdd Zdd ZdS )_WindowsConsoleReaderc                 C      dS r<   r,   r?   r,   r,   r-   readables      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r4t
d |s>tdt  |d tkrFdS d|j S )Nr   r   z>cannot read odd number of bytes from UTF-16-LE encoded consoleT)r4   g?zWindows error: )r   
ValueErrorr6   r   ReadConsoleWr   r8   r   GetLastErrorERROR_OPERATION_ABORTEDtimesleepOSErrorEOFvalue)r9   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)   rE   rS   r,   r,   r,   r-   rC   r   s    rC   c                   @   s(   e Zd Zdd Zedd Zdd ZdS )_WindowsConsoleWriterc                 C   rD   r<   r,   r?   r,   r,   r-   r4      rF   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 )rU   rV   )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r4|dkr4t
| t |S )Nr   r   )r   r6   minMAX_BYTES_WRITTENr   WriteConsoleWr   r8   r   rO   rM   rX   rI   )r9   rP   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)   r4   staticmethodrX   r\   r,   r,   r,   r-   rT      s
    
rT   c                   @   s   e Zd ZdejdejddfddZedefddZ	d	ej
defd
dZdejej
 ddfddZdedejfddZdefddZdd ZdS )ConsoleStreamtext_streambyte_streamreturnNc                 C   s   || _ || _d S r.   )_text_streamrQ   )r9   r_   r`   r,   r,   r-   r:      s   
zConsoleStream.__init__c                 C   s   | j jS r.   )rQ   namer?   r,   r,   r-   rc      s   zConsoleStream.namexc                 C   sB   t |tr| j|S z|   W n	 ty   Y nw | j|S r.   )
isinstancestrrb   r\   flush	ExceptionrQ   )r9   rd   r,   r,   r-   r\      s   
zConsoleStream.writelinesc                 C   s   |D ]}|  | qd S r.   )r\   )r9   ri   liner,   r,   r-   
writelines   s   zConsoleStream.writelinesrc   c                 C   s   t | j|S r.   )getattrrb   )r9   rc   r,   r,   r-   __getattr__   s   zConsoleStream.__getattr__c                 C   s
   | j  S r.   )rQ   r>   r?   r,   r,   r-   r>      r;   zConsoleStream.isattyc                 C   s   d| j d| jdS )Nz<ConsoleStream name=z
 encoding=>)rc   encodingr?   r,   r,   r-   __repr__   s   zConsoleStream.__repr__)r'   r(   r)   tTextIOBinaryIOr:   propertyrf   rc   AnyStrintr\   Iterablerk   Anyrm   boolr>   rp   r,   r,   r,   r-   r^      s    	r^   buffer_streamra   c                 C   .   t tttdddd}ttjt|| S N	utf-16-lestrictT)line_buffering)	r   ioBufferedReaderrC   STDIN_HANDLErq   castrr   r^   rz   r_   r,   r,   r-   _get_text_stdin      r   c                 C   r{   r|   )	r   r   BufferedWriterrT   STDOUT_HANDLErq   r   rr   r^   r   r,   r,   r-   _get_text_stdout   r   r   c                 C   r{   r|   )	r   r   r   rT   STDERR_HANDLErq   r   rr   r^   r   r,   r,   r-   _get_text_stderr   r   r   )r   r   r   _stream_factoriesfc              	   C   sT   t | dsdS z|  }W n ttjfy   Y dS w t|}tt|t	t
 S )NfilenoF)hasattrr   rM   r   UnsupportedOperationmsvcrtget_osfhandlery   GetConsoleModer   r   )r   r   r8   r,   r,   r-   _is_console   s   

r   ro   errorsc                 C   sj   t d ur+|dv r-|dv r/t| r1t|  }|d ur3t| dd }|d u r'd S ||S d S d S d S d S d S )N>   r}   N>   r~   NrQ   )r6   r   r   getr   rl   )r   ro   r   funcrP   r,   r,   r-   _get_windows_console_stream  s   r   )F)Mr   sysrK   typingrq   ctypesr   r   r   r   r   r   r   r	   r
   r   Zctypes.wintypesr   r   r   r   Z_compatr   platformr   r   r   r*   kernel32GetStdHandlerH   r[   r   rI   r   shell32r   r   r   r   r   r0   r/   rU   rV   rJ   ZSTDIN_FILENOZSTDOUT_FILENOZSTDERR_FILENOrN   rZ   r   ImportErrorr6   r   r1   r3   	RawIOBaser7   rC   rT   r^   rs   rr   r   r   r   r   Mappingrv   Callable__annotations__ry   r   Optionalrf   r   r,   r,   r,   r-   <module>   s   

	#  

(
