
    ih                     V    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
y)    N)Path)IteratorUnion)Document)
BaseLoaderc                   8    e Zd ZdZdeeef   fdZdee	   fdZ
y)
TomlLoaderziLoad `TOML` files.

    It can load a single source file or several files in a single
    directory.
    sourcec                 $    t        |      | _        y)z:Initialize the TomlLoader with a source file or directory.N)r   r
   )selfr
   s     g/var/www/html/dev/engine/venv/lib/python3.12/site-packages/langchain_community/document_loaders/toml.py__init__zTomlLoader.__init__   s    6l    returnc           	   #     K   ddl }| j                  j                         r'| j                  j                  dk(  r| j                  g}nJ| j                  j	                         r%t        | j                  j                  d            }nt        d      |D ]o  }|j                  dd      5 }|j                         }	 |j                  |      }t        t        j                  |      d	t        |      i
      }| ddd       q y# |j                  $ r}t!        d| d|        Y d}~0d}~ww xY w# 1 sw Y   xY ww)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&    ;; T[[%7%77%B[[ME[[!))+67E?@@ 	GIg6 
G$))+G ;;w/D"%)ZZ%5"*C	N!;C I
G 
G	G ,, G4YKr!EFFG
G 
GsC   B(E *D4<A D<E D1D,'D4,D11D44D=	9E N)__name__
__module____qualname____doc__r   r"   r   r   r   r   r,    r   r   r	   r	   
   s/    #uS$Y/ #G8H- Gr   r	   )r    pathlibr   typingr   r   langchain_core.documentsr   )langchain_community.document_loaders.baser   r	   r1   r   r   <module>r6      s"      " - @!G !Gr   