
    V|h)                         S SK r S SKrSSKJr  SSKJrJrJrJrJ	r	  SSK
Jr   " S S\5      r " S	 S
\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      rg)    N   )InfoExtractor   )
clean_htmlint_or_nonejoin_nonemptystr_or_noneurl_or_none)traverse_objc                   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g)
TapTapBaseIE   z`V=1&PN=WebApp&LANG=zh_CN&VN_CODE=102&LOC=CN&PLT=PC&DS=Android&UID={uuid}&OS=Windows&OSV=10&DT=PCz:https://www.taptap.cn/webapiv2/video-resource/v1/multi-getNidc                     0 UESU R                   R                  [        R                  " 5       S90EnU R                  " X4SU0UD6S   $ )NzX-UA)uuidquerydata)_X_UAformatr   uuid4_download_json)selfurlvideo_idr   kwargss        Q/home/james-whalen/.local/lib/python3.13/site-packages/yt_dlp/extractor/taptap.py_get_apiTapTapBaseIE._get_api   sK    G5G&$**"3"3"3"FG""3HHHPP    c                    U R                  U R                  USU0S9S   S   n[        USS[        1[        45      nU R                  X1SS9nU HN  n[        R                  " S	UR                  S
S5      5      (       d  M1  [        UR                  S5      SSS9US'   MP     [        U5      US.[        USS[        14SS[        14S.SS9E$ )N	video_idsr   listr   play_url)url_h265r   F)fatalz^(hev|hvc|hvt)\dvcodec 	format_idh265_)delim)r   formatsinfoduration	thumbnail)original_urlr   )r/   r0   )get_all)r   
_VIDEO_APIr   r
   any_extract_m3u8_formatsresearchgetr   strr   )r   r   
video_data	video_urlr-   fmts         r   _extract_videoTapTapBaseIE._extract_video   s    ]]4??H[RZD[]\]cdefg
 !j:MP[}^a-bc	,,Y,NCyy,cggh.CDD#01EvUX#YK  
 h-
 :#Z+?)+B[MR) 
 	
r   c                    U R                  U5      nU R                  U0n[        U R                  U R                  X#S9U R
                  5      n[        X@R                  5      n[        [        X@R                  5      5       Vs/ s H  n0 UEU R                  U5      EPM     nnU R                  " U40 UDSU0D6$ s  snf )Nr"   r   )	_match_id_INFO_QUERY_KEYr   r   	_INFO_API
_DATA_PATH
_META_PATHset_ID_PATHr=   playlist_result)r   r   r   r   r   metainfoid_entriess           r   _real_extractTapTapBaseIE._real_extract/   s    >>#&%%x0MM$..(M@$//S  oo6 dMM:;= <c

!!#&
 < 	 =
 ##GExEHEE=s   B; )__name__
__module____qualname____firstlineno__r   r3   rB   rA   rC   rF   rD   r   r=   rK   __static_attributes__rM   r   r   r   r      s6    nEMJIOJHJQ
&Fr   r   c                      \ rS rSrSrSrSrSS\14S\14SS	S
\14SS	S\	1\
14SS\14SS\14S.4rSSSSSSSSSSS.	SSSSSSSSSSSSSSS.0/S S!0S".S#S$S%S&S'S(S'S(S)S*S.	SSS+SS%S&S,S'S(S'S(S)S*SS.0/S S!0S".S-S.S/S0S1S2S3S4S3S5S6S.	S S!0S7./rS8rg9):TapTapMomentIE?   z+https?://www\.taptap\.cn/moment/(?P<id>\d+)z/https://www.taptap.cn/webapiv2/moment/v3/detail)momenttopic)videos.	pin_videor   rV   created_timeedited_timeauthorusernamer   rW   titlesummary	timestampmodified_timestampuploaderuploader_idr`   descriptionz/https://www.taptap.cn/moment/194618230982052443194618230982052443uP   《崩坏3》开放世界「后崩坏书」新篇章 于淹没之地仰视辰星z$md5:cf66f7819d413641b8b28c8543f4ecdaiZ\a20211005u   乌酱532896	r   r`   rg   rc   upload_daterd   modified_datere   rf   r   	info_dict2202584mp4B   re:^https?://.*\.(png|jpg)r   extr`   rg   r/   rc   rl   rd   rm   re   rf   r0   skip_downloadm3u8r   rn   playlist_countplaylistparamsz/https://www.taptap.cn/moment/521630629209573493521630629209573493uA   《崩坏：星穹铁道》黄泉角色PV——「你的颜色」z$md5:2c81245da864428c904d53ae4ad2182bi@Hf20240326u   崩坏：星穹铁道	4147325804006511   z/https://www.taptap.cn/moment/540493587511511299r   540493587511511299uF   中式民俗解谜《纸嫁衣7》、新系列《纸不语》公布！z$md5:d60842350e686ddb242291ddfb8e39c9iHFf20240517iQ3Gfu   TapTap 编辑7159244)r   rx   rn   rz   rM   N)rN   rO   rP   rQ   
_VALID_URLrB   rF   r   r9   intr	   rD   _TESTSrR   rM   r   r   rT   rT   ?   s   ?JAINH${m4,{m<vvu5 &$}E7SE*SE2 J A&gA#%",' #

 kE')&0!+$':
   #F+=@ A&XA#%",'/&

 \E')&0!+3*:
   #F+=@ A&]A#%",''$

 #F+}MFr   rT   c                       \ rS rSrSrSrSrS\14SS\1\14S.r	S	S
SSS.SSSSSSSSS.0SSSSSSSS.0/SS0S./r
Srg)TapTapAppIE   z(https?://www\.taptap\.cn/app/(?P<id>\d+)z,https://www.taptap.cn/webapiv2/app/v4/detail)
app_videosrY   .r   r`   rg   textr`   rg   z https://www.taptap.cn/app/168332168332u   原神z$md5:e345f39a5fea5de2a46923f70d5f76abr   r`   rg   r   rn   4058443rp      rr   r   rt   r`   rg   r/   r0   4058462i'  ru   rv   rw   rM   N)rN   rO   rP   rQ   r   rB   rF   r9   r   rD   r   rR   rM   r   r   r   r      s    <J>I:HC5!%vuzlCJ
 2A

 !E:	
 !E:	
& #F+7 Fr   r   c                       \ rS rSrSrSrSrg)TapTapIntlBaseIE   z|V=1&PN=WebAppIntl2&LANG=zh_TW&VN_CODE=115&VN=0.1.0&LOC=CN&PLT=PC&DS=Android&UID={uuid}&CURR=&DT=PC&OS=Windows&OSV=NT%208.0.0z:https://www.taptap.io/webapiv2/video-resource/v1/multi-getrM   N)rN   rO   rP   rQ   r   r3   rR   rM   r   r   r   r      s     KEMJr   r   c                   r    \ rS rSrSrSrSrSrS\14SS\1\	14S	.r
S
SSSS.SSSSSSSSS.0/SS0S./rSrg)TapTapAppIntlIE   z(https?://www\.taptap\.io/app/(?P<id>\d+)z.https://www.taptap.io/webapiv2/i/app/v5/detailappr   r`   rg   r   r   z https://www.taptap.io/app/233287233287u   《虹彩六號 M》z$md5:418285f9c15347fc3cf3e3a3c649f182r   r   rn   
2149708997rp   N   rr   r   ru   rv   rw   rM   N)rN   rO   rP   rQ   r   rB   rC   rF   r9   r   rD   r   rR   rM   r   r   r   r      s    <J@IJ:HC5!%vuzlCJ
 2+A

 "/E:	
 	 #F+% Fr   r   c                       \ rS rSrSrSrSrSrSrS\	14S\	14S	S
\
14S	S\1\14S\
14SS\
14S.rSSSSSSSSSSS.	SSSSSSSSSSSSSSS.0/S S!0S"./rS#rg$)%TapTapPostIntlIE   z)https?://www\.taptap\.io/post/(?P<id>\d+)z6https://www.taptap.io/webapiv2/creation/post/v1/detailid_strpost)rX   r   published_timer\   r^   r_   r   r`   list_fieldsra   rb   z!https://www.taptap.io/post/571785571785z(Arknights x Rainbow Six Siege | Event PVz$md5:f7717c13f6d3108e22db7303e6690bf7i=`20210302zTapTap Editor80224473rk   r   rn   
2149491903rp   z   rr   rs   ru   rv   rw   rM   N)rN   rO   rP   rQ   r   rB   rA   rC   rF   r   r9   r   r	   rD   r   rR   rM   r   r   r   r      s    =JHIOJ;H&6,{m<VcU+sek];C5!%y3%8J 3?A#%",''%

 "CE')&0!++):
   #F+= Fr   r   )r6   r   commonr   utilsr   r   r   r	   r
   utils.traversalr   r   rT   r   r   r   r   rM   r   r   <module>r      sp    	  !  +-F= -F`Y\ Yx$, $NN| N
& >-' -r   