a
    bg                     @   s8   d dl mZ d dlmZ d dlmZ G dd deZdS )    )List)Document)
BaseLoaderc                   @   s0   e Zd ZdZedddZee dddZdS )	GutenbergLoaderzLoad from `Gutenberg.org`.)	file_pathc                 C   s.   | dstd|ds$td|| _dS )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    r   |/var/www/html/cobodadashboardai.evdpl.com/venv/lib/python3.9/site-packages/langchain_community/document_loaders/gutenberg.py__init__   s
    

zGutenbergLoader.__init__)returnc                 C   sB   ddl m} || j}ddd |D }d| ji}t||dgS )z
Load file.r   )urlopenz

c                 S   s   g | ]}t |d qS )z	utf-8-sig)strdecode).0elr   r   r   
<listcomp>       z(GutenbergLoader.load.<locals>.<listcomp>source)Zpage_contentmetadata)urllib.requestr   r   joinr   )r
   r   elementstextr   r   r   r   load   s
    

zGutenbergLoader.loadN)	__name__
__module____qualname____doc__r   r   r   r   r   r   r   r   r   r      s   
r   N)typingr   Zlangchain_core.documentsr   Z)langchain_community.document_loaders.baser   r   r   r   r   r   <module>   s   