
    q	h                     n    S r SSKJr  SSKJr  SSKJr   " S S5      r " S S\5      r " S	 S
\\5      r	g)zVarious base classes.    )	Awaitable)AbstractAsyncContextManager)get_running_loopc                   J   ^  \ rS rSrS r\S 5       rS rU 4S jrS r	Sr
U =r$ )	AsyncBase   c                 (    Xl         X0l        X l        g N)_file	_executor	_ref_loop)selffileloopexecutors       ?/var/www/html/env/lib/python3.13/site-packages/aiofiles/base.py__init__AsyncBase.__init__   s    
!    c                 <    U R                   =(       d
    [        5       $ r
   )r   r   r   s    r   _loopAsyncBase._loop   s    ~~3!1!33r   c                     U $ )zWe are our own iterator. r   s    r   	__aiter__AsyncBase.__aiter__   s    r   c                 R   > [         TU ]  5       S-   [        U R                  5      -   $ )Nz
 wrapping )super__repr__reprr   )r   	__class__s    r   r    AsyncBase.__repr__   s$    w!L04

3CCCr   c                 \   #    U R                  5       I Sh  vN nU(       a  U$ [        e N7f)zSimulate normal file iteration.N)readlineStopAsyncIteration)r   lines     r   	__anext__AsyncBase.__anext__   s&     ]]_$K$$	 %s   ,*,)r   r   r   )__name__
__module____qualname____firstlineno__r   propertyr   r   r    r(   __static_attributes____classcell__r"   s   @r   r   r      s1    
 4 4D% %r   r   c                   \   ^  \ rS rSrU 4S jr\S 5       r\R                  S 5       rSrU =r	$ )AsyncIndirectBase!   c                 >   > X@l         Xl        [        TU ]  S X#5        g r
   )	_indirect_namer   r   )r   namer   r   indirectr"   s        r   r   AsyncIndirectBase.__init__"   s    !
t.r   c                 "    U R                  5       $ r
   )r6   r   s    r   r   AsyncIndirectBase._file'   s    ~~r   c                     g r
   r   )r   vs     r   r   r<   +   s    r   )r6   r7   )
r*   r+   r,   r-   r   r.   r   setterr/   r0   r1   s   @r   r3   r3   !   s4    /
     \\ r   r3   c                   4    \ rS rSrSrSrS rS rS rS r	Sr
g)	AiofilesContextManager0   z/An adjusted async context manager for aiofiles._coro_objc                     Xl         S U l        g r
   rC   )r   coros     r   r   AiofilesContextManager.__init__5   s    
	r   c              #      #    U R                   c'  U R                  R                  5        S h  vN U l         U R                   $  N7fr
   )rE   rD   	__await__r   s    r   rJ    AiofilesContextManager.__await__9   s5     99#'::#7#7#99DIyy :s   +AAAc                 "   #    U I S h  vN $  N7fr
   r   r   s    r   
__aenter__!AiofilesContextManager.__aenter__>   s     zzs   c                    #    [        5       R                  S U R                  R                  R                  XU5      I S h  vN   S U l        g  N7fr
   )r   run_in_executorrE   r   __exit__)r   exc_typeexc_valexc_tbs       r   	__aexit__ AiofilesContextManager.__aexit__A   sE      00$))//**Hv
 	
 	
 		
s   >A AAN)r*   r+   r,   r-   __doc__	__slots__r   rJ   rM   rU   r/   r   r   r   rA   rA   0   s    9!I
r   rA   N)
rW   collections.abcr   
contextlibr   asyncior   r   r3   rA   r   r   r   <module>r\      s6     % 2 $% %4	 Y(C r   