�
M�g� � � � d Z ddlmZ ddlmZ ddlmZ G d� d� � Z G d� de� � Z G d � d
ee� � Z dS )zVarious base classes.� )� Awaitable)�AbstractAsyncContextManager)�get_running_loopc �F � � e Zd Zd� Zed� � � Zd� Z� fd�Zd� Z� xZ S )� AsyncBasec �0 � || _ || _ || _ d S �N)�_file� _executor� _ref_loop)�self�file�loop�executors �]/home/asafur/pinokio/api/open-webui.git/app/env/lib/python3.11/site-packages/aiofiles/base.py�__init__zAsyncBase.__init__ s � ���
�!�������� c �, � | j p
t � � S r )r r �r
s r �_loopzAsyncBase._loop
s � ��~�3�!1�!3�!3�3r c � � | S )zWe are our own iterator.� r s r � __aiter__zAsyncBase.__aiter__ s � ��r c �t �� t � � � � � dz t | j � � z S )Nz
wrapping )�super�__repr__�reprr
)r
� __class__s �r r zAsyncBase.__repr__ s- �� ��w�w���!�!�L�0�4��
�3C�3C�C�Cr c � �P K � | � � � � d{V ��}|r|S t �)zSimulate normal file iteration.N)�readline�StopAsyncIteration)r
�lines r � __anext__zAsyncBase.__anext__ s8 � � � ��]�]�_�_�$�$�$�$�$�$��� %��K�$�$r )
�__name__�
__module__�__qualname__r �propertyr r r r# �
__classcell__�r s @r r r s� �� � � � � �� � �
�4� 4� �X�4�� � �D� D� D� D� D�%� %� %� %� %� %� %r r c �T � � e Zd Z� fd�Zed� � � Zej d� � � Z� xZS )�AsyncIndirectBasec �j �� || _ || _ t � � � d ||� � d S r )� _indirect�_namer r )r
�namer r �indirectr s �r r zAsyncIndirectBase.__init__"