
    i                     l    S r SSKJrJr  SSKJr  Sr " S S5      r " S S	\\5      r " S
 S\\5      r	g)z)Extractors for https://www.mangatown.com/   )ChapterExtractorMangaExtractor   )textz&(?:https?://)?(?:www\.)?mangatown\.comc                        \ rS rSrSrSrSrSrg)MangatownBase   z#Base class for mangatown extractors	mangatownzhttps://www.mangatown.com N)__name__
__module____qualname____firstlineno____doc__categoryroot__static_attributes__r       K/app/mltbenv/lib/python3.13/site-packages/gallery_dl/extractor/mangatown.pyr   r      s    -H&Dr   r   c                   8    \ rS rSrSr\S-   rSrS rS r	S r
Srg	)
MangatownChapterExtractor   z/Extractor for manga-chapters from mangatown.comz,(/manga/[^/?#]+(?:/v0*(\d+))?/c(\d+[^/?#]*))z1https://www.mangatown.com/manga/TITLE/c001/1.htmlc                     UR                  5       u  U l        U l        U l        U R                   U R                   S3U l        [        R                  " XU R
                  S-   5        g )N/z1.html)groupspartvolumechapterr   baser   __init__)selfmatchs     r   r    "MangatownChapterExtractor.__init__   sM    /4||~,	4;yyk$))A.	!!$tyy8/CDr   c           
      4   [         R                  " USS5      u  p#[         R                  " USSU5      u  pC[         R                  " USSU5      u  pS[         R                  " USSU5      u  pcU R                  R                  S5      u  pxn	[         R                  " U5      [         R
                  " U5      [         R
                  " U R                  5      [         R
                  " U5      X-   [         R
                  " U5      [         R
                  " U5      SS	S
.	$ )Nzproperty="og:title" content=""ztotal_pages = ;z
series_id=zchapter_id=.enEnglish)	mangamanga_idr   r   chapter_minor
chapter_idcountlanglanguage)r   extractr   	partitionunescape	parse_intr   )
r!   pager*   posr.   r+   r-   r   dotminors
             r   metadata"MangatownChapterExtractor.metadata   s    \\138
,,t-=sCH,,t\3D,,t]CE
"ll44S9e e,x0t{{3w/ [..4u-!

 
	
r   c              #   $  #    Sn [         R                  " USS5      =(       d    [         R                  " USS5      nU(       d  g [         R                  " U5      S 4v   US-  nU R                  U R                   U S35      R                   nM  7f)Nr   zid="image" src="r%   z
<img src="z.html)r   extrensure_http_schemerequestr   )r!   r5   pnumurls       r   images MangatownChapterExtractor.images4   s     99T#5s; 699T<5 ))#.44AID<<499+dV5 9:??D s   BB)r   r   r   r   N)r   r   r   r   r   BASE_PATTERNpatternexampler    r9   rA   r   r   r   r   r   r      s&    9LLGAGE

*
@r   r   c                   0    \ rS rSrSr\r\S-   rSr	S r
Srg)MangatownMangaExtractorA   z&Extractor for manga from mangatown.comz(/manga/[^/?#]+)z%https://www.mangatown.com/manga/TITLEc                    / n[         R                  " USS5      u  p4UR                  S5      S   R                  SSS5      n[         R                  " U5      n[         R                  " USS	U5      S   n[         R
                  " US
S5       H  n[         R                  " USS5      u  pd[         R                  " USSU5      u  pt[         R                  " USSU5      u  p[         R                  " USS5      n	U	R                  S5      u  pnUR                  U R                  U-   U[         R                  " U	5      X-   Uc  SO[         R                  " U5      USSS.45        M     U$ )Nz<title>z</title>z Manga    zRead  r   zclass="chapter_list"z</ul>z<li>z</li>z	<a href="r%   z<span><zclass="time">z/cr   r'   r(   r)   )r*   r   r,   titledater/   r0   )
r   r1   r2   replacer3   extract_iterr<   appendr   r4   )r!   r5   resultsr*   r6   chpathrM   rN   r   sepr8   s               r   chapters MangatownMangaExtractor.chaptersG   s<   \\$	:>
)!,44Wb!De$||D"8'3GJ##D&':Bb+s;JDb(C=JEb/3DJDiidC0G")"3"3C"8G%NNDII,! NN73!$"'-BT]]55I  %/   ;" r   r   N)r   r   r   r   r   r   chapterclassrC   rD   rE   rV   r   r   r   r   rG   rG   A   s    0,L00G5Gr   rG   N)
r   commonr   r   rK   r   rC   r   r   rG   r   r   r   <module>rZ      s?    0 4 8' ')@/? )@Xm^ r   