
    i                         S r SSKJrJr  SSKJr  SSKJr  Sr " S S5      r	 " S	 S
\	\5      r
 " S S\	\5      r\" SS9S 5       rg)z#Extractors for https://weebdex.org/   )ChapterExtractorMangaExtractor   )text)memcachez(?:https?://)?weebdex\.orgc                   .    \ rS rSrSrSrSrSrSrS r	Sr
g	)
WeebdexBase   z!Base class for weebdex extractorsweebdexzhttps://weebdex.orgzhttps://api.weebdex.orgg?c                 L    U R                   S-   U R                   SSSS.U l        g )N/emptycorsz	same-site)RefererOriginzSec-Fetch-DestzSec-Fetch-ModezSec-Fetch-Site)rootheaders_api)selfs    I/app/mltbenv/lib/python3.13/site-packages/gallery_dl/extractor/weebdex.py_initWeebdexBase._init   s'    yy3yy%$)
    )r   N)__name__
__module____qualname____firstlineno____doc__categoryr   root_apirequest_intervalr   __static_attributes__ r   r   r	   r	      s    +H D(H
r   r	   c                   6    \ rS rSrSrSr\S-   rSrS r	S r
Srg	)
WeebdexChapterExtractor#   z$Extractor for weebdex manga chaptersz{chapter_id}_{version}_{page}z/chapter/(\w+)z#https://weebdex.org/chapter/ID/PAGEc                    U R                   S   nU R                   SU 3nU R                  X0R                  S9=U l        nUR                  S5      n US   R                  S5      u  pgn0 [        XS   S	   5      EUR                  S
S5      UR                  SS5      [        R                  " UR                  S5      5      [        R                  " U5      Xx-   UU R                  UR                  S5      5      U R                  UR                  S5      5      UR                  S5      SU;   a  US   S   OSUR                  S5      =(       d    S V	s/ s H  oS   PM	     sn	S.E$ ! [         a	    SnS=px GNf = fs  sn	f )N    	/chapter/headersrelationshipschapter. mangaidtitleversionvolume
created_at
updated_atlanguageuploadernamegroupsr"   )r1   r2   r3   r,   chapter_minor
chapter_iddatedate_updatedlangr7   group)r9   r   request_jsonr   datapop	partition	Exception_manga_infogetr   	parse_intparse_datetime_iso)
r   _cidurlrA   relr,   sepminorgs
             r   metadata WeebdexChapterExtractor.metadata)   st   kk!ny.,,S:J:J,KK	Dhh'	"&y/";";C"@G%

$GT 23
"-A.txx'9:w/ [ !44TXXl5KL!44TXXl5KL,3=3DJ/",/GGH,=,C,CD,Cq6,CD
 	
	  	GC%	  Es   E( E>(E;:E;c                     U R                   nUS    SUS    S3nU R                  SS5      (       a  US   nSnOUS   nS	nU Vs/ s H  nX6S
   -   US   S   US   S   US.4PM     sn$ s  snf )Nnodez/data/r0   r   z
data-saverFdata_optimizedrA   Tr8   
dimensionsr'   r   )widthheightoriginal)rA   config)r   rI   rA   basepagesrX   pages          r   imagesWeebdexChapterExtractor.imagesD   s    yyv,vd4j\3;;|U++)*EHLEH 
  L |,Q/|,Q/$# 
 
 	
 
s   #A+)rA   N)r   r   r   r   r   archive_fmtBASE_PATTERNpatternexamplerP   r]   r!   r"   r   r   r$   r$   #   s$    .1K..G3G
6
r   r$   c                   4    \ rS rSrSr\rSr\S-   r	Sr
S rSrg)	WeebdexMangaExtractorY   zExtractor for weebdex mangaFz$/title/(\w+)(?:/[^/?#]+/?\?([^#]+))?z!https://weebdex.org/title/ID/SLUGc                    U R                   u  p#[        R                  " U5      nUR                  SS5        UR                  SS5        SU;  a  U R	                  SS5      US'   U R
                   SU S	3nU R                  S
-   n[        X5      n/ n U R                  XTU R                  S9n	U	S    H  n
 U
S   R                  S5      u  pn[        R                  " U
R                  S5      5      U
S'   [        R                  " U5      U
S'   X-   U
S'   U
R                  U5        UR                  XjS   -   U
45        M     U	S   U	S   US   -  ::  a   U$ U	S   S-   US'   M  ! [         a    SnS=p Nf = f)Nlimitd   orderasctlangr>   en/manga/z	/chaptersr(   )paramsr*   rA   r,   r-   r'   r.   r3   r:   r0   totalr\   r   )r9   r   parse_query
setdefaultrY   r   r   rE   r@   r   rC   rD   rG   rF   updateappend)r   r\   midqsrn   rK   rZ   r/   resultsrA   chr,   rM   rN   s                 r   chaptersWeebdexMangaExtractor.chapters`   s   ++!!"%'3''5)& "kk&$7F7Owse95yy;&D&$$D,<,< % >D 6l%*,Y-*A*A#*F'G%  $~~bffX.>?8 $w 79&)k?#		% $x45 # G}Vvg >>  "&\A-F6N%  ! %G"$$C%%s   6E$$E65E6r"   N)r   r   r   r   r   r$   chapterclassreverser`   ra   rb   rx   r!   r"   r   r   rd   rd   Y   s$    %*LGDDG1G"r   rd   )keyargc                    U R                    SU 3nU R                  X R                  S9nUS   nUR                  S5      UR                  S5      U R	                  UR                  S5      5      UR                  S5      UR                  S5      UR                  S	5      UR                  S
5      UR                  S5      UR                  S5      =(       d    S Vs/ s H  nUS    SUS    3PM     snUR                  S5      =(       d    S Vs/ s H  ofS   PM	     snUR                  S5      =(       d    S Vs/ s H  ofS   PM	     snS.$ s  snf s  snf s  snf )Nrm   r)   r+   r1   r0   r4   yearstatusr6   descriptiondemographictagsr"   r?   :r8   authorsartists)r/   manga_id
manga_dater~   r   originr   r   r   authorartist)r   r@   r   rF   rH   )r   rt   rK   r/   rL   tas          r   rE   rE      sF   ]]O73%
(Cc+;+;<E

 C IIg&IIdO--eii.EFIIf%IIh'IIj)yy/yy/!ggfo3353 '
|1QvYK035(+	(:(@b(@A(@1vY(@A(+	(:(@b(@A(@1vY(@A 5AAs   EE<EN)r   commonr   r   r.   r   cacher   r`   r	   r$   rd   rE   r"   r   r   <module>r      sZ    * 4  ,
 
"3
k+; 3
l)K )X 
 r   