
    dh                         S SK r S SKJr  S SKJrJrJr  S SKJr  S SK	J
r
  S SKJr  \ R                  " \5      r " S S\
5      rg)	    N)Path)IteratorOptionalUnion)Document)
BaseLoader)detect_file_encodingsc                   Z    \ rS rSrSr  SS\\\4   S\\   S\	4S jjr
S\\   4S	 jrS
rg)
TextLoader   a!  Load text file.


Args:
    file_path: Path to the file to load.

    encoding: File encoding to use. If `None`, the file will be loaded
    with the default system encoding.

    autodetect_encoding: Whether to try to autodetect the file encoding
        if the specified encoding fails.
N	file_pathencodingautodetect_encodingc                 (    Xl         X l        X0l        g)zInitialize with file path.N)r   r   r   )selfr   r   r   s       a/var/www/html/shao/venv/lib/python3.13/site-packages/langchain_community/document_loaders/text.py__init__TextLoader.__init__   s     # #6     returnc              #     #    Sn [        U R                  U R                  S9 nUR                  5       nSSS5        S[        U R                  5      0n[        XS9v   g! , (       d  f       N1= f! [         a  nU R
                  (       a  [        U R                  5      nU H  n[        R                  SUR                   35         [        U R                  UR                  S9 nUR                  5       nSSS5        O! , (       d  f       O= f   SnAM  ! [         a     M  f = f    SnAN[        SU R                   35      UeSnAf[         a  n[        SU R                   35      UeSnAff = f7f)zLoad from file path. )r   NzTrying encoding: zError loading source)page_contentmetadata)openr   r   readUnicodeDecodeErrorr   r	   loggerdebugRuntimeError	Exceptionstrr   )r   textfedetected_encodingsr   r   s          r   	lazy_loadTextLoader.lazy_load&   s1    	Idnnt}}=vvx >$ c$..12D<<' >=! 	M''%:4>>%J" 2HLL#4X5F5F4G!HI!!$..8;L;LMQR#$668D NMM- ! ! !3 #^DNN3C#DE1L 	I/?@AqH	Is   E8A1 A A1 #E8 
A.*A1 -E8.A1 1
E5;AE
	D'D8	D
DDE
E8
D'#E
&D''E
,E81E

E5E00E55E8)r   r   r   )NF)__name__
__module____qualname____firstlineno____doc__r   r#   r   r   boolr   r   r   r(   __static_attributes__ r   r   r   r      sN      #'$)		7d#	7 3-	7 "		7=8H- =r   r   )loggingpathlibr   typingr   r   r   langchain_core.documentsr   )langchain_community.document_loaders.baser   ,langchain_community.document_loaders.helpersr	   	getLoggerr*   r   r   r1   r   r   <module>r9      s6      , , - @ N			8	$0= 0=r   