o
    ®©Zh"  ã                   @   s<   d dl mZmZ d dlmZ d dlmZ G dd„ deƒZdS )é    )ÚAnyÚIterator)Ú
BaseLoader)ÚDocumentc                
   @   s@   e Zd ZdZdededededdf
dd	„Zdee fd
d„Z	dS )ÚAirtableLoaderzLoad the `Airtable` tables.Ú	api_tokenÚtable_idÚbase_idÚkwargsÚreturnNc                 K   s   || _ || _|| _|| _dS )a£  Initialize with API token and the IDs for table and base.

        Args:
            api_token: Airtable API token.
            table_id: Airtable table ID.
            base_id:
            kwargs: Additional parameters to pass to Table.all(). Refer to the
                pyairtable documentation for available options:
                https://pyairtable.readthedocs.io/en/latest/api.html#pyairtable.Table.all
        N)r   r   r	   r
   )Úselfr   r   r	   r
   © r   úd/var/www/html/lang_env/lib/python3.10/site-packages/langchain_community/document_loaders/airtable.pyÚ__init__
   s   
zAirtableLoader.__init__c                 c   s†    ddl m} || j| j| jƒ}|jdi | j¤Ž}|D ]%}| jd | j | j| jdœ}d| jv r7| jd |d< tt|ƒ|dV  qdS )	zLazy load Documents from table.r   )ÚTableÚ_)Úsourcer	   r   Úview)Zpage_contentÚmetadataNr   )	Z
pyairtabler   r   r	   r   Úallr
   r   Ústr)r   r   ÚtableÚrecordsÚrecordr   r   r   r   Ú	lazy_load   s   €ý
÷zAirtableLoader.lazy_load)
Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r   r   r   r   r   r   r      s    ÿÿÿÿ
þr   N)Útypingr   r   Zlangchain_core.document_loadersr   Zlangchain_core.documentsr   r   r   r   r   r   Ú<module>   s    