
    dh{                     F    S SK JrJrJr  S SKJr  S SKJr   " S S\5      rg)    )IteratorOptionalSequence)Document)
BaseLoaderc                   X    \ rS rSrSr SS\S\S\S\\\      4S jjrS	\	\
   4S
 jrSrg)FaunaLoader   aP  Load from `FaunaDB`.

Attributes:
    query (str): The FQL query string to execute.
    page_content_field (str): The field that contains the content of each page.
    secret (str): The secret key for authenticating to FaunaDB.
    metadata_fields (Optional[Sequence[str]]):
        Optional list of field names to include in metadata.
Nquerypage_content_fieldsecretmetadata_fieldsc                 4    Xl         X l        X0l        X@l        g N)r   r   r   r   )selfr   r   r   r   s        b/var/www/html/shao/venv/lib/python3.13/site-packages/langchain_community/document_loaders/fauna.py__init__FaunaLoader.__init__   s     
"4.    returnc              #   "  #     SSK JnJn  SSKJn  SSKJn  U" U R                  S9nUR                  U" U R                  5      5      nUR                  nU Ht  nUc  M  [        UR                  5       5      n	Sn
U	R                  5        H  u  pXR                  :X  d  M  Un
M     [        U
UR                  UR                   S.S	9nUv   Mv     UR"                  b  [        S
SUR"                  0S	9v   g g ! [         a    [        S5      ef = f7f)Nr   )Pagefql)Client)QuerySuccesszRCould not import fauna python package. Please install it with `pip install fauna`.)r    )idts)page_contentmetadatazNext Page Existsafter)faunar   r   fauna.clientr   fauna.encodingr   ImportErrorr   r   datadictitemsr   r   r   r   r!   )r   r   r   r   r   clientresponsepageresultdocument_dictr   keyvaluedocuments                 r   	lazy_loadFaunaLoader.lazy_load   s    	'+3 t{{+!'c$**o!>]]F! $V\\^ 4!"/"5"5"7JC555', #8 &.!-$*IIVYY?&   ::!/!4::.  "-  	> 	s)   DC6 AD=D AD6DD)r   r   r   r   r   )__name__
__module____qualname____firstlineno____doc__strr   r   r   r   r   r1   __static_attributes__ r   r   r	   r	      sQ     48
/
/  
/ 	
/
 "(3-0
/8H- r   r	   N)	typingr   r   r   langchain_core.documentsr   )langchain_community.document_loaders.baser   r	   r:   r   r   <module>r>      s    / / - @6* 6r   