a
    bg"                     @   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                   @   s8   e Zd ZdZeeeeddddZee dddZ	dS )	AirtableLoaderzLoad the `Airtable` tables.N)	api_tokentable_idbase_idkwargsreturnc                 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   {/var/www/html/cobodadashboardai.evdpl.com/venv/lib/python3.9/site-packages/langchain_community/document_loaders/airtable.py__init__
   s    zAirtableLoader.__init__)r   c                 c   s   ddl m} || j| j| j}|jf i | j}|D ]J}| jd | j | j| jd}d| jv rl| jd |d< tt||dV  q4dS )zLazy load Documents from table.r   )Table_)sourcer	   r   view)Zpage_contentmetadataN)	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   