
    i>                         S r SSKJrJrJrJr  SSKJrJrJ	r	   " S S\5      r
\
R                  SSS	.S
SS	.SSS	.SSS	.S.5      r " S S\
\5      r " S S\
\5      r " S S\
5      rg)z<Extractors for https://www.mangakakalot.gg/ and mirror sites   )BaseExtractorChapterExtractorMangaExtractorMessage   )textutil	exceptionc                       \ rS rSrSrSrg)ManganeloExtractor   	manganelo N)__name__
__module____qualname____firstlineno__basecategory__static_attributes__r       K/app/mltbenv/lib/python3.13/site-packages/gallery_dl/extractor/manganelo.pyr   r      s    Lr   r   zhttps://www.nelomanga.netz(?:www\.)?nelomanga\.net)rootpatternzhttps://www.natomanga.comz(?:www\.)?natomanga\.comzhttps://www.manganato.ggz(?:www\.)?manganato\.ggzhttps://www.mangakakalot.ggz(?:www\.)?mangakakalot\.gg)	nelomanga	natomanga	manganatomangakakalotc                   8    \ rS rSrSr\S-   rSrS rS r	S r
Srg	)
ManganeloChapterExtractor(   z&Extractor for manganelo manga chaptersz (/manga/[^/?#]+/chapter-[^/?#]+)z8https://www.mangakakalot.gg/manga/MANGA_NAME/chapter-123c                 p    [         R                  X5        U R                  U R                  S   -   U l        g Nr   __init__r   groupspage_urlselfmatchs     r   r%   "ManganeloChapterExtractor.__init__-   (    ##D0		DKKO3r   c           	      2   [         R                  " U5      nU R                  U" SS5      S S 5      U R                  U" SS5      S S 5      [         R                  " U" SS5      5      [         R                  " U" SS5      5      U" SS5      R	                  S	5      S
SS.nU" SS5      R	                  S	5      nUR                  S5      S   R                  S5      u  pVn[         R                  " U5      US'   Xg-   US'   U" SS5      R	                  5       US'   U$ )Nz"datePublished": ""   z"dateModified": "z
comic_id =;zchapter_id =zcomic_name =z" enEnglish)datedate_updatedmanga_id
chapter_idmangalanglanguagezchapter_name = r   .chapterchapter_minorz	. Author:z already has author)r   extract_fromparse_datetime_iso	parse_intstrip
rpartition	partition)r)   pageextrdatachapter_namer<   sepminors           r   metadata"ManganeloChapterExtractor.metadata1   s     & !33D$c5++.B50 1 33D#S5**-25/ 0 NN4c+BC NN4+DE 5;;DA %

 ,c288>*55c:1=GGLe..1Y #_k?;AACXr   c                     [         R                  " U5      n[        R                  " U" SS5      5      S   n[        R                  " U" SS5      5      nUS   S:w  a  US-  nU Vs/ s H	  nX5-   S 4PM     sn$ s  snf )Nz
var cdns =r0       zvar chapterImages =r#   /)r   r?   r	   
json_loads)r)   rE   rF   cdnsimgspaths         r   images ManganeloChapterExtractor.imagesH   s      &tL#67:t$93?@8s?CKD 
 [$
 	
 
s   &A9r'   N)r   r   r   r   __doc__BASE_PATTERNr   exampler%   rK   rT   r   r   r   r   r   r   (   s$    0@@GHG4.
r   r   c                   6    \ rS rSrSr\r\S-   rSr	S r
S rSrg)	ManganeloMangaExtractorV   zExtractor for manganelo mangaz(/manga/[^/?#]+)$z,https://www.mangakakalot.gg/manga/MANGA_NAMEc                 p    [         R                  X5        U R                  U R                  S   -   U l        g r"   r$   r(   s     r   r%    ManganeloMangaExtractor.__init__\   r,   r   c                    [         R                  " U5      nU" SS5      nX3R                  S5      S-   S  n[         R                  " U" SS5      5      UU[         R                  " U" SS5      5      U" S	S5      R                  5       U R                  U" S
S5      R                  5       S5      [         R                  " U" SS5      5      S S S2   SS.nUS   R                  5         US-   nU R                   SU S3n/ nU R                  U5      S   nUS    Hr  n	U	S   nUSS  R                  S5      u  pnUR                  Xd-   0 UE[         R                  " U
5      U=(       a    SU-   U R                  U	S   5      U	S   S.E45        Mt     U$ )Nzproperty="og:url" content="r.   rO   r   z<h1><z<li>Author(s) :z</li>z<li>Status :z<li>Last updated :z%b-%d-%Y %I:%M:%S %pz	>Genres :r   r1   )r7   	manga_url
manga_slugr>   statusr4   tagsr8   rd   z/api/manga/z/chapters?limit=-1rG   chapterschapter_slug   -r;   
updated_atview)r<   r=   r3   views)r   r?   rfindunescaperemove_htmlrB   parse_datetime
split_htmlsortr   request_jsonrD   appendrA   r@   )r)   rE   rF   urlsluginfobaseresultsrG   chr<   rI   rJ   s                r   re    ManganeloMangaExtractor.chapters`   s     &0#699S>!#$% mmD$56&&t,=w'GH>3/557 //$c1++0574JLood;&@A#A#F

 	VSy;tf,>?  %f-z"Bn%D"&qr("4"4S"9G%NNDK **>>'2"%+#!6222l3CDf:*   # r   rV   N)r   r   r   r   rW   r   chapterclassrX   r   rY   r%   re   r   r   r   r   r[   r[   V   s$    ',L11G<G4"r   r[   c                   0    \ rS rSrSrSr\S-   rSrS r	Sr
g)	ManganeloBookmarkExtractor   z!Extractor for manganelo bookmarksbookmark	/bookmarkz$https://www.mangakakalot.gg/bookmarkc              #     #    S[         0nU R                  S-   nSS0nU R                  X#S9nUR                  (       a  [        R
                  " SS5      eUR                  n[        R                  " [        R                  " USS	5      5      n [        R                  " US
S5       H.  n[        R                  [        R                  " USS5      U4v   M0     US   U:  a  g US==   S-  ss'   U R                  X#S9R                  nM|  7f)N
_extractorr   rE   r   )paramszauthenticated cookieszyour bookmarksz>Last()zclass="user-bookmark-item z</a>z href="r.   )r[   r   requesthistoryr
   AuthRequiredr   rA   rF   extract_iterr   Queue)r)   rG   rt   r   responserE   lastr   s           r   items ManganeloBookmarkExtractor.items   s     56ii+%!<<<3((')9; ;}}~~diih<= --6@mmTYYxC%H$NN@ f~%6NaN<<<388D s   DD
r   N)r   r   r   r   rW   subcategoryrX   r   rY   r   r   r   r   r   r}   r}      s    +K\)G4G9r   r}   N)rW   commonr   r   r   r    r   r	   r
   r   updaterX   r   r[   r}   r   r   r   <module>r      s    C L L $ $  "((..
 /.
 .-
 10* (+
 24D +
\,0. ,^9!3 9r   