
    io                         S r SSKJr  SSKJrJrJr  SSKrSSKJ	r	  SSK
Jr  SSKJr  \R                  " \5      r " S S	\5      rg)
z0
Epub parser.

Contains parsers for epub files.
    )Path)DictListOptionalN)AbstractFileSystem)
BaseReader)Documentc            
       L    \ rS rSrSr  S
S\S\\   S\\   S\	\
   4S jjrS	rg)
EpubReader   zEpub Parser.Nfile
extra_infofsreturnc                     SSK nSSKnSSK Jn  U(       a  [        R                  S5        / nUR                  USS0S9nUR                  5        H`  n	U	R                  5       UR                  :X  d  M#  UR                  UR                  U	R                  5       R                  S	5      5      5        Mb     S
R                  U5      n
[        X=(       d    0 S9/$ ! [         a    [        S5      ef = f)zParse file.r   N)epubzhPlease install extra dependencies that are required for the EpubReader: `pip install EbookLib html2text`zyfs was specified but EpubReader doesn't support loading from fsspec filesystems. Will load from local filesystem instead.
ignore_ncxT)optionszutf-8
)textmetadata)ebooklib	html2textr   ImportErrorloggerwarning	read_epub	get_itemsget_typeITEM_DOCUMENTappendget_contentdecodejoinr	   )selfr   r   r   r   r   r   	text_listbookitemr   s              \/home/james-whalen/.local/lib/python3.13/site-packages/llama_index/readers/file/epub/base.py	load_dataEpubReader.load_data   s    		% NNT
 	~~d\4,@~A NN$D}}("8"88  ''(8(8(:(A(A'(JK % yy#d-=2>??1  	3 	s   C C. )NN)__name__
__module____qualname____firstlineno____doc__r   r   r   r   r   r	   r*   __static_attributes__r,       r)   r   r      sQ    
 &*+/	#@#@ TN#@ '(	#@
 
h#@ #@r3   r   )r1   pathlibr   typingr   r   r   loggingfsspecr   llama_index.core.readers.baser   llama_index.core.schemar	   	getLoggerr-   r   r   r,   r3   r)   <module>r;      s?     ' '  % 4 ,			8	$&@ &@r3   