ó
    w€ˆj
  ã                   ó8   • S r SSKrSSKrSSKJr   " S S5      rg)u  
Source adapter for mangaread.org (WordPress "Madara" theme, wp-manga reader).

Manga pages list their chapters as <li class="wp-manga-chapter"> items,
newest first. Chapter readers embed their pages as
    <img ... class="wp-manga-chapter-img" src="...">  (or data-src)
inside <div class="reading-content"> â€” in display order, which is the
canonical page set and reading order for the chapter.

Chapter slugs can carry fix suffixes (e.g. chapter-71-1), so chapter ids are
the raw slugs; directory names turn '-' into '_'.
é    Né   )Úcorec                   ó|   • \ rS rSrSrSrS\SS4S jrS\S\4S	 jrS\S\	\
\\\4      4S
 jrS\S\	\   4S jrSrg)ÚMangaReadSourceé   Ú	mangareadzhttps://www.mangaread.orgÚ	manga_urlÚreturnz	core.Pathc                 óV   • [         R                  " [         R                  " U5      5      $ )N)r   ÚPathÚslug_from_url)Úselfr	   s     Ú@/home/nathan/projects/ai/drake_scans_download/manga/mangaread.pyÚ
output_dirÚMangaReadSource.output_dir   s   € Ü�yŠyœ×+Ò+¨IÓ6Ó7Ð7ó    Úch_idc                 óF   • UR                  SS5      R                  SS5      $ )Nzchapter-Úchapter_Ú-Ú_)Úreplace)r   r   s     r   Úchapter_dirnameÚMangaReadSource.chapter_dirname   s    € à�}‰}˜Z¨Ó4×<Ñ<¸SÀ#ÓFÐFr   c                 ó  • [         R                  " U5      nUc  [        R                  " S5        [        R
                  " SU[        R                  5      nU(       d  [        R                  " S5        / n[        5       n[        U5       Hq  u  pgSR                  UR                  5       5      n[         R                  " U5      n	X•;   a  MA  UR                  U	5        UR                  X–U=(       d    SU	 345        Ms     U$ )z<-> [(ch_id, ch_url, label)] in reading order (oldest first).zCould not fetch manga page.z@<li class="wp-manga-chapter[^"]*">\s*<a href="([^"]+)">(.*?)</a>u7   No chapter list found â€” site layout may have changed.Ú zchapter )r   Ú
fetch_htmlÚsysÚexitÚreÚfindallÚSÚsetÚreversedÚjoinÚsplitr   ÚaddÚappend)
r   r	   ÚhtmlÚitemsÚchaptersÚseenÚurlÚ	raw_labelÚlabelr   s
             r   Úget_chaptersÚMangaReadSource.get_chapters!   sÆ   € ä�Š˜yÓ)ˆØ‰<Ü�HŠHÐ2Ô3Ü—
’
ØOØ”"—$‘$óˆö Ü�HŠHÐNÔOàˆÜ‹uˆÜ& užo‰NˆCØ—H‘H˜YŸ_™_Ó.Ó/ˆEÜ×&Ò& sÓ+ˆEØ‹}ÙØ�H‰H�UŒOØ�O‰O˜U¨×)D°H¸U¸GÐ2DÐEÖFñ .ð ˆr   Úchapter_urlc                 ó–  • [         R                  " U5      nUc  / $ UR                  S5      nUS:X  a  UR                  S5      nUS:X  a  [         R                  " S5        / $ UR                  SU5      nUS:X  a  [	        U5      nX#U n/ n[
        R                  " SU5       H£  nUR                  S5      n[
        R                  " SU5      =(       d    [
        R                  " S	U5      n	U	(       d  MR  U	R                  S
5      R                  5       n
U
(       d  Mz  U
R                  S5      (       a  M’  UR                  U
5        M¥     U$ )Nz<div class="reading-content"éÿÿÿÿzclass="read-container"u9     reader container not found â€” layout may have changed.z<select class="select-pagez#<img[^>]*wp-manga-chapter-img[^>]*>r   z\bdata-src\s*=\s*"([^"]+)"z\bsrc\s*=\s*"([^"]+)"r   zdata:)r   r   ÚfindÚlogÚlenr    ÚfinditerÚgroupÚsearchÚstripÚ
startswithr(   )r   r2   r)   ÚstartÚendÚscopeÚurlsÚmÚtagÚsrcr-   s              r   Ú	get_pagesÚMangaReadSource.get_pages7   s  € Ü�Š˜{Ó+ˆØ‰<ØˆIð —	‘	Ð8Ó9ˆØ�B‹;Ø—I‘IÐ6Ó7ˆEØ�B‹;Ü�HŠHÐPÔQØˆIØ�i‰iÐ4°eÓ<ˆØ�"‹9Ü�d“)ˆCØ˜3�ˆØˆÜ—’ÐCÀUÖKˆAØ—'‘'˜!“*ˆCÜ—)’)Ð9¸3Ó?÷ ;Ü—)’)Ð4°cÓ:ð æÙØ—)‘)˜A“,×$Ñ$Ó&ˆCßˆs˜3Ÿ>™>¨'×2Ó2Ø—‘˜CÖ ñ Lð ˆr   © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__ÚnameÚsiteÚstrr   r   ÚlistÚtupler0   rD   Ú__static_attributes__rF   r   r   r   r      so   † Ø€DØ&€Dð8 Cð 8¨Kô 8ðG Sð G¨Sô Gð cð ¨d°5¸¸cÀ3¸Ñ3GÑ.Hô ð, Sð ¨T°#©Y÷ r   r   )Ú__doc__r    r   Ú r   r   rF   r   r   Ú<module>rS      s   ðñó 
Û 
å ÷=ò =r   