
    i                     l    S r SSKJrJr  SSKJrJr   " S S5      r " S S\\5      r " S	 S
\\5      r	g)z%Extractors for https://mangaread.org/   )ChapterExtractorMangaExtractor   )text	exceptionc                   &    \ rS rSrSrSrSrS rSrg)MangareadBase   z#Base class for Mangaread extractors	mangareadzhttps://www.mangaread.orgc                    [         R                  " S5      R                  [         R                  " U5      R	                  5       5      nUR                  5       u  pEpgU(       a  UR	                  5       OSnUR                  SU5      US'   [         R                  " U5      US'   U=(       d    SUS'   U=(       d    SUS'   SUS'   S	US
'   g )Nz:(?:(.+)\s*-\s*)?[Cc]hapter\s*(\d+)(\.\d+)?(?:\s*-\s*(.+))? mangachapterchapter_minortitleenlangEnglishlanguage)r   rematchunescapestripgroupspop	parse_int)selfchapter_stringdatar   r   r   minorr   s           K/app/mltbenv/lib/python3.13/site-packages/gallery_dl/extractor/mangaread.pyparse_chapter_string"MangareadBase.parse_chapter_string   s    I

%n-335
6 	 (-||~$!&B%0W..1Y %_WV$Z     N)	__name__
__module____qualname____firstlineno____doc__categoryrootr"   __static_attributes__r%   r$   r!   r	   r	      s    -H&D%r$   r	   c                   ,    \ rS rSrSrSrSrS rS rSr	g)	MangareadChapterExtractor    z/Extractor for manga-chapters from mangaread.orgz>(?:https?://)?(?:www\.)?mangaread\.org(/manga/[^/?#]+/[^/?#]+)z1https://www.mangaread.org/manga/MANGA/chapter-01/c                    [         R                  " USS5      nS[        [         R                  " U5      S S S2   5      0n[         R                  " USS5      nU(       d  [        R
                  " S5      eU R                  XC5        U$ )Nzclass="wp-manga-tags-list"></div>tagsr   z<h1 id="chapter-heading"></h1>r   )r   extrlist
split_htmlr   NotFoundErrorr"   )r   pager3   r   infos        r!   metadata"MangareadChapterExtractor.metadata&   sp    yy<hGT__T23Q3789yy:GD)))44!!$-r$   c                     [         R                  " USS5      n[         R                  " USS5       Vs/ s H+  n[         R                  " USS5      R                  5       S 4PM-     sn$ s  snf )Nz<div class="reading-content">z<div class="entry-headerz<img id="image->zsrc="")r   r5   extract_iterr   )r   r9   imgs      r!   images MangareadChapterExtractor.images/   sl    yy13MO ((/@#F
F YYsGS)//148F
 	
 
s   2A(r%   N)
r&   r'   r(   r)   r*   patternexampler;   rB   r-   r%   r$   r!   r/   r/       s    9+GAG
r$   r/   c                   0    \ rS rSrSr\rSrSrS r	S r
Srg)	MangareadMangaExtractor8   z&Extractor for manga from mangaread.orgz9(?:https?://)?(?:www\.)?mangaread\.org(/manga/[^/?#]+)/?$z%https://www.mangaread.org/manga/MANGAc                 n   SU;   a  [         R                  " S5      eU R                  U5      n/ n[        R                  " USS5       Hi  n[        R
                  " USS5      u  pV[        R
                  " USSU5      u  pxU R                  Xr5        UR                  XRR                  5       45        Mk     U$ )	Nzclass="error404r   z<li class="wp-manga-chapterz</li>z	<a href="r?   r>   </a>)	r   r8   r;   r   r@   extractr"   appendcopy)	r   r9   r   resultsr   urlposr:   _s	            r!   chapters MangareadMangaExtractor.chapters>   s    $))'22}}T"((3W>GWk3?ICll7C=GD%%d1NNC-.> r$   c                    [         R                  " [         R                  " USS5      5      n[         R                  " USS5      R                  5       [         R                  " [         R
                  " [         R                  " USSUR                  S5      5      S   5      5      [         R                  " U" S	S
5      R                  5       5      [         R
                  " U" SS5      5      R                  S5      [        [         R                  " U" SS5      SS5      5      [        [         R                  " U" SS5      SS5      5      [        [         R                  " U" SS5      SS5      5      [         R
                  " U" SS5      5      [         R                  " [         R
                  " U" SS5      5      5      [         R
                  " U" SS5      5      S.
$ )Nzclass="summary_content">zclass="manga-action"z<h1>r4   r>   r2   summary__content    ztotal_votes">z</span>zAlternative		</h5>
	</div>z; zclass="author-content">z"tag">rJ   zclass="artist-content">zclass="genres-content">z	Type	z
</div>z		Release	z	Status	)
r   descriptionrating	manga_altauthorartistgenrestypereleasestatus)r   extract_fromr5   r   r   remove_htmlrK   indexparse_floatsplitr6   r@   r   )r   r9   r5   s      r!   r;    MangareadMangaExtractor.metadataK   s     ,.D"F G  99T67;AAC==)9)9$,,c8TZZ0B%C;EEF;H *I J++_i0668:++5x@BBG%+ 1 1.98V!M N 1 1.98V!M N 1 1.98V!M N++Xz*,>>$*:*:[*-+/ 0++Z,.%
 	
r$   r%   N)r&   r'   r(   r)   r*   r/   chapterclassrD   rE   rR   r;   r-   r%   r$   r!   rG   rG   8   s    0,LJG5G
r$   rG   N)
r*   commonr   r   r   r   r   r	   r/   rG   r%   r$   r!   <module>rh      s7    , 4 % %&
/? 
0*
m^ *
r$   