
    ih                     >    d dl mZ d dlmZ d dlmZ  G d de      Zy)    )List)Document)
BaseLoaderc                   .    e Zd ZdZdefdZdee   fdZy)GutenbergLoaderzLoad from `Gutenberg.org`.	file_pathc                     |j                  d      st        d      |j                  d      st        d      || _        y)zInitialize with a file path.zhttps://www.gutenberg.orgz5file path must start with 'https://www.gutenberg.org'z.txtzfile path must end with '.txt'N)
startswith
ValueErrorendswithr   )selfr   s     l/var/www/html/dev/engine/venv/lib/python3.12/site-packages/langchain_community/document_loaders/gutenberg.py__init__zGutenbergLoader.__init__   s>    ##$?@TUU!!&)=>>"    returnc           
          ddl m}  || j                        }dj                  |D cg c]  }t	        |j                  d             c}      }d| j                  i}t        ||      gS c c}w )z
Load file.r   )urlopenz

z	utf-8-sigsource)page_contentmetadata)urllib.requestr   r   joinstrdecoder   )r   r   elementseltextr   s         r   loadzGutenbergLoader.load   s^    *4>>*{{(KBC		+ 67KLdnn-dX>?? Ls   !A,N)	__name__
__module____qualname____doc__r   r   r   r   r    r   r   r   r      s#    $## #@d8n @r   r   N)typingr   langchain_core.documentsr   )langchain_community.document_loaders.baser   r   r#   r   r   <module>r'      s     - @@j @r   