
    Ng                     ^    d dl Z d dlmZ d dlmZmZ d dlmZ d dlm	Z	  G d de	          Z
dS )    N)Path)IteratorUnion)Document)
BaseLoaderc                   F    e Zd ZdZdeeef         fdZdee	         fdZ
dS )
TomlLoaderziLoad `TOML` files.

    It can load a single source file or several files in a single
    directory.
    sourcec                 .    t          |          | _        dS )z:Initialize the TomlLoader with a source file or directory.N)r   r
   )selfr
   s     e/var/www/html/ai-engine/env/lib/python3.11/site-packages/langchain_community/document_loaders/toml.py__init__zTomlLoader.__init__   s    6ll    returnc           	   #     K   ddl }| j                                        r| j        j        dk    r	| j        g}nP| j                                        r(t          | j                            d                    }nt          d          |D ]}|                    dd          5 }|	                                }	 |
                    |          }t          t          j        |          d	t          |          i
          }|V  n,# |j        $ r}t!          d| d|            Y d}~nd}~ww xY wddd           n# 1 swxY w Y   dS )zALazily load the TOML documents from the source file or directory.r   Nz.tomlz	**/*.tomlz Invalid source path or file typerzutf-8)encodingr
   )page_contentmetadatazError parsing TOML file z: )tomlir
   is_filesuffixis_dirlistglob
ValueErroropenreadloadsr   jsondumpsstrTOMLDecodeErrorprint)	r   r   files	file_pathfilecontentdatadoces	            r   	lazy_loadzTomlLoader.lazy_load   s     ;   	AT[%77%B%B[MEE[!! 	A))+6677EE?@@@ 	G 	GIg66 
G$))++G ;;w//D"%)Z%5%5"*C	NN!;  C IIII, G G GEYEE!EEFFFFFFFFG
G 
G 
G 
G 
G 
G 
G 
G 
G 
G 
G 
G 
G 
G 
G	G 	Gs=   $D>:ADD>
D/D*%D>*D//D>>E	E	N)__name__
__module____qualname____doc__r   r"   r   r   r   r   r,    r   r   r	   r	   
   si         #uS$Y/ # # # #G8H- G G G G G Gr   r	   )r    pathlibr   typingr   r   langchain_core.documentsr   )langchain_community.document_loaders.baser   r	   r1   r   r   <module>r6      s           " " " " " " " " - - - - - - @ @ @ @ @ @!G !G !G !G !G !G !G !G !G !Gr   