
    Ng(                     R   d dl Z d dlmZmZ d dlmZmZmZmZ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mZmZ d	dlmZ ddlmZmZ d dl Z g dZ!e j"        dk    r	 	 	 	 	 	 	 	 	 	 	 d%dZn	 	 	 	 	 	 	 	 	 	 d&dZ	 	 	 	 	 	 	 	 	 d'dZ	 	 	 	 	 	 	 	 	 	 d(dZd)dZe j"        dk    r	 	 	 	 	 	 	 	 	 	 	 	 	 d*dZ#n	 	 	 	 	 	 	 	 	 	 	 	 d+dZ#	 	 	 	 	 	 	 	 	 	 d(dZ$	 d)dZ% G d de          Z&edddd             Z'e'(                    e	          dddd!            Z)e'(                    e          dddd"            Z)e'(                    e          e'(                    e          dddd#                        Z)e'(                    e          dddd$            Z)dS ),    N)partialsingledispatch)BufferedRandomBufferedReaderBufferedWriterFileIO
TextIOBase)NamedTemporaryFile)SpooledTemporaryFile)TemporaryDirectory)TemporaryFile)_TemporaryFileWrapper   )AiofilesContextManager)AsyncBufferedIOBaseAsyncBufferedReaderAsyncFileIOAsyncTextIOWrapper   )AsyncSpooledTemporaryFileAsyncTemporaryDirectory)r
   r   r   r   )      w+bTc                 R    t          t          d| |||||||||	|
                    S )!Async open a named temporary fileT)namedmode	bufferingencodingnewlinesuffixprefixdirdeletedelete_on_closeloopexecutorr   _temporary_file)r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   s              V/var/www/html/ai-engine/env/lib/python3.11/site-packages/aiofiles/tempfile/__init__.pyr
   r
      sL     &#! /!  
 
 	
    c
                 P    t          t          d| |||||||||	                    S )r   T)r   r    r!   r"   r#   r$   r%   r&   r'   r)   r*   r+   )
r    r!   r"   r#   r$   r%   r&   r'   r)   r*   s
             r-   r
   r
   ?   sI     &#!!  
 
 	
r.   c	                 N    t          t          d| ||||||||
  
                  S )z$Async open an unnamed temporary fileF)
r   r    r!   r"   r#   r$   r%   r&   r)   r*   r+   )	r    r!   r"   r#   r$   r%   r&   r)   r*   s	            r-   r   r   ]   sF     "	
 	
 	
  r.   c
                 N    t          t          | |||||||||	
  
                  S )z#Async open a spooled temporary file
max_sizer    r!   r"   r#   r$   r%   r&   r)   r*   )r   _spooled_temporary_filer2   s
             r-   r   r   y   sF     "	
 	
 	
  r.   c           	      D    t          t          | ||||                    S )z Async open a temporary directoryr$   r%   r&   r)   r*   )AiofilesContextManagerTempDir_temporary_directoryr6   s        r-   r   r      s1    (&cx	
 	
 	
  r.   c                   K   |
t          j                    }
| rt          t          |||||||||	
  
        }nt          t          |||||||          }|
                    ||           d{V }t          |          t          u r&t          |j	        ||
|          }|j
        |_
        |S t          |||
|          S ):Async method to open a temporary file with async interfaceN)	r    r!   r"   r#   r$   r%   r&   r'   r(   r    r!   r"   r#   r$   r%   r&   r)   r*   )asyncioget_running_loopr   syncNamedTemporaryFilesyncTemporaryFilerun_in_executortypesyncTemporaryFileWrapperwrapfile_closer)r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r3   cbfresults                   r-   r,   r,      s       <+--D 	&#! /  BB !#!	 	 	B &&x44444444 77...!&!$BBBFYFNM 14(;;;;r.   c                 ~  K   |	t          j                    }	| rt          t          ||||||||	  	        }nt          t          |||||||          }|	                    |
|           d{V }t          |          t          u r&t          |j	        ||	|
          }|j
        |_
        |S t          |||	|
          S )r:   N)r    r!   r"   r#   r$   r%   r&   r'   r;   r<   )r=   r>   r   r?   r@   rA   rB   rC   rD   rE   r'   )r   r    r!   r"   r#   r$   r%   r&   r'   r)   r*   r3   rG   rH   rI   s                  r-   r,   r,      s       <+--D 	&#!
 
 
BB !#!	 	 	B &&x44444444 77...!&!$BBBFHFMM 14(;;;;r.   c
                    K   |t          j                    }t          t          | |||||||	  	        }
|                    |	|
           d{V }t          |||	          S )z2Open a spooled temporary file with async interfaceN)r3   r    r!   r"   r#   r$   r%   r&   r<   )r=   r>   r   syncSpooledTemporaryFilerA   r   )r3   r    r!   r"   r#   r$   r%   r&   r)   r*   rG   rH   s               r-   r4   r4     s       |'))	 

 

 

B ""8R00000000A %QTHEEEEr.   c                    K   |t          j                    }t          t          | ||          }|                    ||           d{V }t          |||          S )z?Async method to open a temporary directory with async interfaceNr<   )r=   r>   r   syncTemporaryDirectoryrA   r   )r$   r%   r&   r)   r*   rG   rH   s          r-   r8   r8   8  sk       |'))	'	=	=B""8R00000000A"14(CCCCr.   c                       e Zd ZdZd ZdS )r7   zGWith returns the directory location, not the object (matching sync lib)c                 B   K   | j          d {V | _        | j        j        S )N)_coro_objname)selfs    r-   
__aenter__z(AiofilesContextManagerTempDir.__aenter__H  s+      *$$$$$$	y~r.   N)__name__
__module____qualname____doc__rU    r.   r-   r7   r7   E  s)        QQ    r.   r7   r<   c                F    t          d                    |                     )z=Wrap the object with interface based on type of underlying IOzUnsupported IO type: {})	TypeErrorformatbase_io_objrE   r)   r*   s       r-   rD   rD   M  s!     -44[AA
B
BBr.   c                &    t          |||          S Nr<   r   r^   s       r-   _rb   S  s    dAAAAr.   c                &    t          |||          S ra   )r   r^   s       r-   rb   rb   X  s    t$BBBBr.   c                &    t          |||          S ra   )r   r^   s       r-   rb   rb   ]  s     t$BBBBr.   c                &    t          |||          S ra   )r   r^   s       r-   rb   rb   c  s    t$::::r.   )r   r   NNNNNTTNN)
r   r   NNNNNTNN)	r   r   NNNNNNN)
r   r   r   NNNNNNN)NNNNN)Tr   r   NNNNNTTNNr   )Tr   r   NNNNNTNNr   )*r=   	functoolsr   r   ior   r   r   r   r	   tempfiler
   r?   r   rL   r   rN   r   r@   r   rC   baser   threadpool.binaryr   r   r   threadpool.textr   	temptypesr   r   sys__all__version_infor,   r4   r8   r7   rD   registerrb   rZ   r.   r-   <module>rq      sc    - - - - - - - - Q Q Q Q Q Q Q Q Q Q Q Q Q Q A A A A A A E E E E E E A A A A A A 7 7 7 7 7 7 F F F F F F ) ) ) ) ) ) U U U U U U U U U U 0 0 0 0 0 0 I I I I I I I I 



   w 
 
 
 
 
D 
 
 
 
> 
	   : 		   :    w 6< 6< 6< 6< 6<v 5< 5< 5< 5<r 		F F F FF =A
D 
D 
D 
D    $:    $(4 C C C C C
 z!% B B B B B ~!% C C C C C ~~!% C C C C  C v!% ; ; ; ; ; ; ;r.   