
    dh                     V    S SK r S SKJr  S SKJrJr  S SKJr  S SKJ	r	   " S S\	5      r
g)    N)Path)IteratorUnion)Document)
BaseLoaderc                   D    \ rS rSrSrS\\\4   4S jrS\	\
   4S jrSrg)	
TomlLoader
   z]Load `TOML` files.

It can load a single source file or several files in a single
directory.
sourcec                 $    [        U5      U l        g)z:Initialize the TomlLoader with a source file or directory.N)r   r   )selfr   s     a/var/www/html/shao/venv/lib/python3.13/site-packages/langchain_community/document_loaders/toml.py__init__TomlLoader.__init__   s    6l    returnc           	   #     #    SSK nU R                  R                  5       (       a(  U R                  R                  S:X  a  U R                  /nOOU R                  R	                  5       (       a%  [        U R                  R                  S5      5      nO[        S5      eU Hk  nUR                  SSS9 nUR                  5       n UR                  U5      n[        [        R                  " U5      S	[        U5      0S
9nUv   SSS5        Mm     g! UR                   a  n[!        SU SU 35         SnAN3SnAff = f! , (       d  f       M  = f7f)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_loadTomlLoader.lazy_load   s    ;;  T[[%7%77%B[[ME[[!!))+67E?@@Ig6$))+G ;;w/D"%)ZZ%5"*C	N!;C I 76  ,, G4YKr!EFFG 76sB   B0E2D=>DED:D50D=5D::D==
E	E)r   N)__name__
__module____qualname____firstlineno____doc__r   r$   r   r   r   r   r.   __static_attributes__ 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	   r6   r   r   <module>r;      s"      " - @!G !Gr   