
    
i                     v    S SK r S SKrS SKrS SKJr  SqS rS rS rS r	SS jr
S	 rS
 rS r " S S\5      rg)    N)etreeFc                 L    SS K nUR                  SS9nUR                  U 5        g )Nr      )indent)pprintPrettyPrinter)objr   pps      E/home/ubuntu/wiki/venv/lib/python3.13/site-packages/ebooklib/utils.pydebugr      s#    			Q		'BIIcN    c                    [         R                  " SSS9n [         R                  " [        R                  " U R                  S5      5      US9nU$ ! [         a-    [         R                  " [        R                  " U 5      US9n U$ f = f)NTF)recoverresolve_entitiesutf-8parser)r   	XMLParserparseioBytesIOencode	Exception)sr   trees      r   parse_stringr   !   sn    __TEBF9{{2::ahhw&78H K  9{{2::a=8K9s   8A 3BBc                 N    SSK Jn  UR                  SS9nUR                  XS9nU$ )Nr   )htmlr   encodingr   )lxmlr   
HTMLParserdocument_fromstring)r   r   utf8_parser	html_trees       r   parse_html_stringr&   +   s.    //7/3K(((?Ir   c                     [         (       d.  [        R                  " 5         [        R                  " SS5        Sq [        R                  " U 5      $ )Nzapplication/xhtml+xmlz.xhtmlT)mimetype_initialised	mimetypesinitadd_type
guess_type)
extenstions    r   r,   r,   5   s<      2H=#
++r   c           	          SSK Jn  SUS   -  SSSR                  U S9S	SR                  U S90n[        R                  " S
USUS   0S9nU(       a  Xl        U(       a  [        R                  " USS9$ U$ )Nr   )
NAMESPACESz{%s}typeEPUB	pagebreaktitlez	{pageref})pagerefidspanepub)nsmapunicoder   )ebooklib.epubr/   formatr   Elementtexttostring)r3   labelr   r/   pageref_attributespageref_elems         r   create_pagebreakrA   @   s    ( 	Z''##G#4k   1 ==);FJW]L^C_`L!~~lY??r   c                     [        SS5       Hf  nU R                  SR                  US95      n[        U5      S:  d  M2  US   R	                  5       R                  5       n[        U5      S:  d  Md  Us  $    g )N      z./h{n})nr   )rangexpathr:   lentext_contentstrip)elemrE   headersr<   s       r   get_headersrM   T   sg    1a[**X__q_12w<!1:**,224D4y1}  r   c                    [        U R                  5       5      n/ nUR                  5        H  nSUR                  ;   d  M  UR	                  S5      c  M)  S nUR
                  b8  UR
                  R                  5       S:w  a  UR
                  R                  5       nUc  UR	                  S5      nUc  [        U5      nUR                  U R                  5       UR	                  S5      U=(       d    UR	                  S5      45        M     U$ )Nz	epub:typer4    z
aria-label)
r&   get_body_contentiterattribgetr<   rJ   rM   appendget_name)itembodypagesrK   _texts        r   	get_pagesrZ   _   s    T2245DE		$++%xx~)99(TYY__->"-D IIOO-E= HH\2E='-Edmmotxx~u?VQUWX   Lr   c                     U  Vs/ s H  n[        U5      PM     nnU VVs/ s H  o3  H  oPM     M     snn$ s  snf s  snnf N)rZ   )itemsrV   pages_from_docsrX   s       r   get_pages_for_itemsr_   v   s?    38954y5O9-@oU%$D%Do@@ :@s   9>c                   &    \ rS rSrS rS rS rSrg)	Directory|   c                     Xl         g r\   directory_path)selfre   s     r   __init__Directory.__init__}   s    ,r   c                     [        [        R                  R                  U R                  U5      S5       nUR                  5       sS S S 5        $ ! , (       d  f       g = f)Nrb)openospathjoinre   read)rf   subnamefps      r   ro   Directory.read   s9    "'',,t22G<dCr779 DCCs   A
Ac                     g r\    )rf   s    r   closeDirectory.close   s    r   rd   N)__name__
__module____qualname____firstlineno__rg   ro   ru   __static_attributes__rt   r   r   ra   ra   |   s    -r   ra   )NT)r   r)   rl   r!   r   r(   r   r   r&   r,   rA   rM   rZ   r_   objectra   rt   r   r   <module>r}      sN   " 
  	  ,(.A	 	r   