
    i                     j    S r SSKJrJr  SSKJr  Sr " S S\5      r " S S	\5      r " S
 S\5      r	g)z#Extractors for https://poipiku.com/   )	ExtractorMessage   )textz(?:https?://)?poipiku\.comc                   b    \ rS rSrSrSrSrSrSrSr	Sr
S	rS
rS rS rS rS rS rS rS rSrg)PoipikuExtractor   z!Base class for poipiku extractorspoipikuzhttps://poipiku.com)z
{category}z{user_id} {user_name}z{post_id}_{num}.{extension}z{post_id}_{num}zpoipiku.comT)g      ?g      ?c                     U R                   R                  SSU R                  S9  U R                   R                  SSU R                  S9  SSU R                  S SS	S
S.U l        U R                  SS5      U l        g )NLANGen)domainPOIPIKU_CONTENTS_VIEW_MODE1z.application/json, text/javascript, */*; q=0.01XMLHttpRequestemptycorszsame-origin)AcceptzX-Requested-WithOriginRefererzSec-Fetch-DestzSec-Fetch-ModezSec-Fetch-Sitepassword )cookiessetcookies_domainrootheadersconfigr   )selfs    I/app/mltbenv/lib/python3.13/site-packages/gallery_dl/extractor/poipiku.py_initPoipikuExtractor._init   s    D!4!4 	 	6(#d6I6I 	 	K H 0yy%$+
 J3    c              #   4  #    U R                  S5      (       a  U R                  nSnOEU R                  nSnU R                  (       a&  U R                  R                  S5        S[        l        U R                  5        GH  nUS   S:X  a  U R                  U-   nU R                  U5      R                  n[        R                  " U5      nUR                  SS5      nU" SS	5      [        R                  " U" S
S5      5      US   R                  S5      S   US   [        R                  " U" SS5      R!                  S5      S   5      [        R                  " U" SS5      5      SSS USU0S.nU R#                  Xu5      nX0R$                  S'   US   (       a  US   (       d  U" SS5      (       a  SUS'   [&        R(                  SU4v   [+        U" XxU5      S5       H2  u  US'   n	[&        R,                  U	[        R.                  " X5      4v   M4     GM     g 7f)N)
POIPIKU_LKTFzno 'POIPIKU_LK' cookie set    /r   z<title>[]( .r   z<h2 class="UserInfoUserName">z</>zclass="IllustItemDesc" >z</h1>r   )post_categorycountpost_iduser_id	user_namedescriptionwarningr   requiresoriginal_http_headersr4   r   PasswordIconr   num)cookies_check_extract_files_auth_extract_files_noauthcookies_warninglogr3   r   postsr   requestr   extract_fromrsplit	parse_int	partitionunescape
rpartition_extract_thumbr   r   	Directory	enumerateUrlnameext_from_url)
r   extract_files	logged_inpost_urlpageextrpartspostthumburls
             r    itemsPoipikuExtractor.items,   s    o.. 44MI 66MI##  !=>38 0

H{c!99x/<<)..D$$T*DOOC+E!%j#!6#~~d3n=$Qx11#6q9$Qx#}}T3T.;;E:c?1.N  O#}}T..9  :$$#("+X!6D  ''3E&.LL#JZ(8T"C>) >)#'Z ##R--$-m/'()%+ USkk3(=(=c(HHH%+= %s   HHc                    Sn U" SS5      nU(       d  U$ UR                  S5      (       at  U R                  R                  SUS   U5        [        R                  " USS	5      nUS
:X  a  SUS
'   OtUS:X  a  SUS'   OhUS:X  a  SUS'   O\US:X  a  SUS'   OPUS:X  a  SUS'   ODUR                  S5      (       a,  U R                  R                  SUS   U5        SU;   a  SUS
'   OUnM  )Nr   T class="IllustItemThumbImg" src=""zhttps://cdn.poipiku.com/img/z%s: %sr/   r'   r+   r3   publish_passr   publish_loginloginr4   publish_followerfollowpublish_t_rtretweet)zhttps://img.poipiku.com/img/z//img.poipiku.com/img/z/img/z/warning)
startswithr=   debugr   rextr)r   rQ   rO   rR   imgtypes         r    rF   PoipikuExtractor._extract_thumbY   s    93?C >??xi#>zz#sC09$&*DO^+'+D$_,'.D$//'/D$^+'0D$ !  
 xi#>$&*DO7 r#   c                    U R                  U5      nUR                  S5      (       aG  U R                  U5      nUS   nU R                  R	                  SUS   UR                  SS5      5        g[        R                  " US   SS	5      $ )
N
error_codehtml%s: '%s'r/   <br/>r*    zsrc="rX   )_show_illust_detailget_show_append_filer=   r3   replacer   extract_iter)r   rQ   rR   rO   datarh   s         r    r:   $PoipikuExtractor._extract_files_authy   s    ''-88L!!))$/D<DHHZ!)_dll7C.HJ  fw<<r#   c                 X   U(       a  U" SS5      (       d  U4$ U/nO/ nU R                  U5      nUS   nUR                  S5      =(       d    SS:  a0  U R                  R                  SUS   UR	                  SS	5      5        UR                  [        R                  " US
S5      5        U$ )NShowAppendFile<rh   
result_numr&   ri   r/   rj   r*   rW   rX   )rn   rm   r=   r3   ro   extendr   rp   )r   rQ   rR   rO   filesrq   rh   s          r    r;   &PoipikuExtractor._extract_files_noauth   s    (#..xGEE%%d+F|HH\"'a1,HHZ!)_dll7C.HJ 	T&&4c; 	<r#   c                     U R                   S-   nUS   US   SU R                  S.nU R                  USU R                  USS9$ )	Nz/f/ShowIllustDetailF.jspr0   r/   -1)IDTDADPASPOSTFmethodr   rq   intervalr   r   request_jsonr   r   rQ   rS   rq   s       r    rl   $PoipikuExtractor._show_illust_detail   sZ    ii44	?	?==	
   4 !  	r#   c                     U R                   S-   nUS   US   U R                  SSS.nU R                  USU R                  USS	9$ )
Nz/f/ShowAppendFileF.jspr0   r/   0r{   )UIDIIDr   MDTWFr   Fr   r   r   s       r    rn   "PoipikuExtractor._show_append_file   s]    ii22	?	?==
   4 !  	r#   )r   r   N)__name__
__module____qualname____firstlineno____doc__categoryr   directory_fmtfilename_fmtarchive_fmtr   r<   request_intervalr!   rT   rF   r:   r;   rl   rn   __static_attributes__rk   r#   r    r   r      sT    +H D;M0L#K"NO!4 +IZ@	=$
r#   r   c                   0    \ rS rSrSrSr\S-   rSrS r	Sr
g)	PoipikuUserExtractor   z'Extractor for posts from a poipiku useruserz8/(?:IllustListPcV\.jsp\?PG=(\d+)&ID=)?(\d+)/?(?:$|[?&#])zhttps://poipiku.com/12345/c              #   .  #    U R                   u  pU R                  S-   n[        R                  " US5      USS.n U R	                  X4S9R                  nSn[        R
                  " USS5       H  nUv   US-  nM     US	:  a  g US
==   S-  ss'   MY  7f)Nz/IllustListPcV.jspr&   r   )PGr|   KWD)paramszclass="IllustInfo" href="rX   r   0   r   )groupsr   r   rB   r?   rp   )r   pnumr0   rS   r   rN   cntpaths           r    r>   PoipikuUserExtractor.posts   s     ii..>>$*
 <<<388DC))5s<
q<
 Rx4LAL s   BBrk   Nr   r   r   r   r   subcategoryBASE_PATTERNpatternexampler>   r   rk   r#   r    r   r      s#    1K % %G*Gr#   r   c                   0    \ rS rSrSrSr\S-   rSrS r	Sr
g)	PoipikuPostExtractor   zExtractor for a poipiku postrQ   z/(\d+)/(\d+)z$https://poipiku.com/12345/12345.htmlc                 2    U R                   u  pSU SU S34$ )Nr'   z.html)r   )r   r0   r/   s      r    r>   PoipikuPostExtractor.posts   s&    ;;G9AgYe,..r#   rk   Nr   rk   r#   r    r   r      s    &K_,G4G/r#   r   N)
r   commonr   r   r   r   r   r   r   r   rk   r#   r    <module>r      s>    * & ,\y \~+ >/+ /r#   