o
    |qi"                     @   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   t/home/app/PaddleOCR-VL/.venv_paddleocr/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    