
    i                     h    S r SSKJrJr  SSKJr   " S S5      r " S S\\5      r " S	 S
\\5      rg)z(Extractors for https://www.mangahere.cc/   )ChapterExtractorMangaExtractor   )textc                   $    \ rS rSrSrSrSrSrSrg)MangahereBase   z#Base class for mangahere extractors	mangaherezhttps://www.mangahere.cczhttps://m.mangahere.cc N)	__name__
__module____qualname____firstlineno____doc__categoryrootroot_mobile__static_attributes__r       K/app/mltbenv/lib/python3.13/site-packages/gallery_dl/extractor/mangahere.pyr   r      s    -H%D*Kr   r   c                   >    \ rS rSrSrSrSrS rS rS r	S r
S	 rS
rg)MangahereChapterExtractor   z.Extractor for manga-chapters from mangahere.cczS(?:https?://)?(?:www\.|m\.)?mangahere\.c[co]/manga/([^/]+(?:/v0*(\d+))?/c([^/?#]+))z0https://www.mangahere.cc/manga/TITLE/c001/1.htmlc                     UR                  5       u  U l        U l        U l        U R                   SU R                   S3U l        [        R                  " XU R
                  S-   5        g )N/manga//z1.html)groupspartvolumechapterr   baser   __init__)selfmatchs     r   r"   "MangahereChapterExtractor.__init__   sR    /4||~,	4;''(		{!<	!!$tyy8/CDr   c                 P    U R                   S-   U R                  R                  S'   g )Nr   Referer)r   sessionheadersr#   s    r   _initMangahereChapterExtractor._init!   s!    *.*:*:S*@Y'r   c                 |   UR                  S5      n[        R                  " USSUS-
  5      u  p2[        R                  " USSU5      u  pB[        R                  " USSU5      u  pR[        R                  " USS	U5      u  pbU R                  R	                  S
5      u  pxn	[        R
                  " U5      [        R                  " U5      U R                  5       [        R                  " U R                  5      [        R                  " U5      X-   [        R                  " U5      [        R                  " U5      SSS.
$ )Nz	</select>><(   zseries_id = ;zchapter_id = z"name":"".enEnglish)
mangamanga_idtitler   r    chapter_minor
chapter_idcountlanglanguage)	indexr   extractr    	partitionunescape	parse_int
_get_titler   )
r#   pageposr;   r7   r:   r6   r    dotminors
             r   metadata"MangahereChapterExtractor.metadata$   s    jj%,,tS#sRx@,,t^S#F,,t_c3G
,,tZcB"ll44S9e ]]5)x0__&nnT[[1~~g. [..4^^E*!
 	
r   c              #     #    Sn [         R                  " USS5      u  p4[         R                  " [         R                  " U5      5      S 4v   [         R                  " USSU5      u  p4[         R                  " [         R                  " U5      5      S 4v   US-  nU R	                  U R
                   U S35      R                   nM  7f)Nr   z
<img src="r2   z src="r   z.html)r   r?   ensure_http_schemerA   requestr!   )r#   rD   pnumurlrE   s        r   images MangahereChapterExtractor.images9   s     ||D,<HC))$--*<=tCC||D(C=HC))$--*<=tCCAID<<499+dV5 9:??D s   CCc                    U R                    SU R                   S3nU R                  U5      R                  n UR	                  U R                  5      [        U R                  5      -   nUR	                  U R                  U5      [        U R                  5      -   n[        R                  " USSU5      S   $ ! [         a     gf = f)Nr   r   z title="r2        )r   r   rL   r   r>   lenr?   
ValueError)r#   rN   rD   rE   s       r   rC   $MangahereChapterExtractor._get_titleD   s    7499+Q/||C %%	**TYY'#dii.8C**TYY,s499~=C<<j#s;A>> 		s   A>B8 8
CC)r!   r    r   r   N)r   r   r   r   r   patternexampler"   r+   rH   rO   rC   r   r   r   r   r   r      s-    83G@GE
A
*	@	r   r   c                   0    \ rS rSrSr\rSrSrS r	S r
Srg)	MangahereMangaExtractorP   z%Extractor for manga from mangahere.cczG(?:https?://)?(?:www\.|m\.)?mangahere\.c[co](/manga/[^/?#]+/?)(?:#.*)?$z$https://www.mangahere.cc/manga/TITLEc                 :    U R                   R                  SSSS9  g )NisAdult1zwww.mangahere.cc)domain)cookiessetr*   s    r   r+   MangahereMangaExtractor._initW   s    C0BCr   c                 B   / n[         R                  " USS5      u  p4[         R                  " U5      n[         R                  " USSU5      S   nSn [         R                  " USSU5      u  pTU(       d  U$ [         R                  " USSU5      u  pd[         R                  " US	SU5      u  pt[         R                  " S
5      R	                  U5      nU(       a  UR                  5       u  ppO2US S R                  S5      S   R                  S5      u  pnSU-   nSn	SnUR                  [         R                  " U R                  U5      UU(       a  [         R                  " U5      OS[         R                  " U	5      [         R                  " U
5      UUSSS.45        GMO  )Nz<meta name="og:title" content="r2   zid="chapterlist"zclass="detail-main-list-more"rR   z href="zclass="title3">r/   zclass="title2">z.(?:Vol\.0*(\d+) )?Ch\.0*(\d+)(\S*)(?: - (.*))?z/cr   r3   rS   r4   r5   )r6   r8   r   r    r9   dater<   r=   )r   r?   rA   rer$   r   
rpartitionr@   appendurljoinr   rB   )r#   rD   resultsr6   rE   rN   infore   r$   r   r    rG   r8   _s                 r   chapters MangahereMangaExtractor.chaptersZ   su   \\$(I3O
e$||$&EsLLMO||D)S#>HCT+<c3GIDT+<c3GIDGGACCH5; 05-$'H$7$7$=a$@$J$J3$O!EeNNDLLC816u-B..0>>'2!&%	; 	 	# r   r   N)r   r   r   r   r   r   chapterclassrW   rX   r+   rm   r   r   r   r   rZ   rZ   P   s!    /,L.G4GD"r   rZ   N)	r   commonr   r   rS   r   r   r   rZ   r   r   r   <module>rq      s8    / 4 + +7/? 7t,m^ ,r   