
    i                     X    S r SSKJrJrJr  SSKJrJr   " S S\5      r " S S\5      r	g	)
z&Extractors for https://hentaihand.com/   )GalleryExtractor	ExtractorMessage   )textutilc                   :    \ rS rSrSrSrSrSrSrS r	S r
S	 rS
rg)HentaihandGalleryExtractor   z/Extractor for image galleries on hentaihand.com
hentaihandhttps://hentaihand.comz:(?:https?://)?(?:www\.)?hentaihand\.com/\w+/comic/([\w-]+)z%https://hentaihand.com/en/comic/TITLEc                 |    US   U l         U R                   SU R                    3n[        R                  " XU5        g )Nr   z/api/comics/)slugrootr   __init__)selfmatchurls      L/app/mltbenv/lib/python3.13/site-packages/gallery_dl/extractor/hentaihand.pyr   #HentaihandGalleryExtractor.__init__   s5    !H	<		{3!!$s3    c                    [         R                  " U5      n[        R                  " US   5      US   US   U R                  US   S   US   S   [         R
                  " US   S   5      US    Vs/ s H  o3S   PM	     snU R                  US	   5      S
.	nS H  nX%    Vs/ s H  ofS   PM	     snXE'   M     U$ s  snf s  snf )Nidtitlealternative_titlecategorynamelanguagetagsr   uploaded_at)	
gallery_idr   	title_altr   typer   langr   date)artistsauthorsgroups
charactersrelationshipsparodies)r   
json_loadsr   	parse_intr   language_to_codeparse_datetime_iso)r   pageinfotdatakeyvs          r   metadata#HentaihandGalleryExtractor.metadata   s    t$>>$t*5= 3499
+F3
+F300j1A&1IJ/3F|<|!fI|<2243FG

1C,0I6Iq6I6DI1  =
 7s   2B<#Cc                 |    U R                  U R                  S-   5      nUS    Vs/ s H	  o3S   U4PM     sn$ s  snf )Nz/imagesimages
source_url)request_jsonpage_url)r   _r1   imgs       r   r9   !HentaihandGalleryExtractor.images-   s?      !:;48NCNS\"C(NCCCs   9)r   N)__name__
__module____qualname____firstlineno____doc__r   r   patternexampler   r6   r9   __static_attributes__ r   r   r
   r
      s)    9H#DKG5G4
$Dr   r
   c                   8    \ rS rSrSrSrSrSrSrSr	S r
S	 rS
rg)HentaihandTagExtractor2   z,Extractor for tag searches on hentaihand.comr   tagr   z|(?i)(?:https?://)?(?:www\.)?hentaihand\.com/\w+/(parody|character|tag|artist|group|language|category|relationship)/([^/?#]+)z!https://hentaihand.com/en/tag/TAGc                 j    [         R                  " X5        UR                  5       u  U l        U l        g )N)r   r   r(   r#   r4   )r   r   s     r   r   HentaihandTagExtractor.__init__<   s$    4'#lln	48r   c              #     #    U R                   S   S:X  a  U R                   S S S-   nOU R                   S-   nU R                   SU SU R                   3nU R                  X R                   S9S   nU R                  S	-   nS
SXSSSSSSSSSS0n U R                  X$S9nUS    H4  nU R                   SUS    3n[        US'   [
        R                  Xv4v   M6     US   US   :  a  g US==   S-  ss'   Mh  7f)Nyiessz/api//)notfoundr   z/api/comicsper_page18r0   r   q sortr    orderdescdurationday)paramsr3   z
/en/comic/r   
_extractor	last_page)r#   r   r4   r;   r
   r   Queue)r   tplr   tidr_   r1   gallerygurls           r   itemsHentaihandTagExtractor.items@   s'    99R=C))CR.5(C))c/C5Qtxxj1ii8>ii-'
 $$S$8D<))Jwv.?@(B%mmT22 (
 f~k!226NaN s   C7C9)r4   r#   N)r@   rA   rB   rC   rD   r   subcategoryr   rE   rF   r   rg   rG   rH   r   r   rJ   rJ   2   s,    6HK#D4G 2G- r   rJ   N)
rD   commonr   r   r   rY   r   r   r
   rJ   rH   r   r   <module>rk      s/    - 8 8  D!1  DF+ Y + r   