
    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
JrJrJrJr   " S S\5      r " S S	\5      r " S
 S\5      r " S S\5      rg)    N   )InfoExtractor   )	UserNotLivedetermine_extfloat_or_noneint_or_noneparse_iso8601str_or_nonetraverse_objunified_timestampurl_or_nonec                   F    \ rS rSr\R
                  S 5       rS0 4S jrSrg)
KickBaseIE   c                     [        U R                  S5      SS[        R                  R                  145      nU(       a  SSU 30$ 0 $ )Nzhttps://kick.com/session_tokenvalueAuthorizationzBearer )r   _get_cookiesurllibparseunquote)selftokens     O/home/james-whalen/.local/lib/python3.13/site-packages/yt_dlp/extractor/kick.py_api_headersKickBaseIE._api_headers   sN    12g(<(<'=>@ 8=75'!23D"D    zDownloading API JSONc                 T    U R                   " SU 3U4U0 U R                  EUESS.UD6$ )Nzhttps://kick.com/api/T)noteheadersimpersonate)_download_jsonr   )r   path
display_idr!   r"   kwargss         r   	_call_apiKickBaseIE._call_api   sJ    ""#D6*JR=A4t((4G4$RJPR 	Rr    N)	__name__
__module____qualname____firstlineno__	functoolscached_propertyr   r(   __static_attributes__r*   r   r   r   r      s*    E E 0Fr Rr   r   c                      ^  \ rS rSrSrSr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S 0S!.S"S#S$./r	\
U 4S% j5       rS& rS'rU =r$ )(KickIE    z	kick:livezZhttps?://(?:www\.)?kick\.com/(?!(?:video|categories|search|auth)(?:[/?#]|$))(?P<id>[\w-]+)zhttps://kick.com/buddhaidz92722911-nopixel-40extmp4titledescription	timestamp	thumbnailzre:https?://.+\.jpg
categoriesupload_datechannelbuddha
channel_id32807uploaderBuddhauploader_id33057live_statusis_liveconcurrent_view_countrelease_timestamp	age_limitr   release_dateskip_download
livestreamurl	info_dictparamszhttps://kick.com/xqcT)rO   only_matchingc                    > [         R                  U5      (       d  [        R                  U5      (       a  S$ [        TU ]  U5      $ )NF)	KickVODIEsuitable
KickClipIEsuper)clsrO   	__class__s     r   rU   KickIE.suitable?   s;    "++C00J4G4G4L4LuhSXSZScdgShhr   c                    U R                  U5      nU R                  SU 3U5      n[        US[        S9(       d	  [	        US9eUSU R                  US   USSS9S	.[        USS
[        14SS[        14SS[        14S[        1[        1[        4S[        1[        4S[        1[        1[        4SS[        14SS[        14SSS[        14SSS[        14SS[        14SS[        1S 14S.5      E$ )Nzv2/channels/rM   )expected_type)video_idTplayback_urlr7   )live)r>   rG   formatsslugsession_titleuserbio)r5   )rM   r@   )name)rc   username)user_id)rc   r5   
created_at
start_timer;   rO   recent_categories.re   viewer_count	is_maturec                     U (       a  S$ S$ Nr   r   r*   xs    r   <lambda>&KickIE._real_extract.<locals>.<lambda>Y       RSBNYZNr   )r5   r8   r9   r@   rB   rD   r:   rI   r;   r<   rH   rJ   )	_match_idr(   r   dictr   _extract_m3u8_formatsstrintr   anyr   r   r	   bool)r   rO   r>   responses       r   _real_extractKickIE._real_extractC   s,   ..%>>L	":GDHl$Gw// 11(>2JGUZae1f
 8#VcU3&#? &u5CcU[M[^_;cUCH ;cU[MSVW*L;L:MN&2LCTBU%V*KN2C#G*6)V*K$BZA[\& 	
 	
r   r*   )r+   r,   r-   r.   IE_NAME
_VALID_URLrw   rx   list_TESTSclassmethodrU   r|   r1   __classcell__)rY   s   @r   r3   r3       s"   GnJ(
'
5
 S
 3	

 
 /
 $
 3
 x
 '
 
 7
 9
 $S
  
  !
" C#
& #L1+0 &/F8 i i
 
r   r3   c                       \ rS rSrSrSrSSSSSS	S
SS\SSSS/SSS.SS0S.SSSSSSSSS\SSS/\\S S!.S"S#./rS$ r	S%r
g&)'rT   ^   zkick:vodz[https?://(?:www\.)?kick\.com/[\w-]+/videos/(?P<id>[\da-f]{8}-(?:[\da-f]{4}-){3}[\da-f]{12})z@https://kick.com/xqc/videos/5c697a87-afce-4256-b01f-3c8fe71ef5cbz$5c697a87-afce-4256-b01f-3c8fe71ef5cbr7   u   🐗LIVE🐗CLICK🐗HERE🐗DRAMA🐗ALL DAY🐗NEWS🐗VIDEOS🐗CLIPS🐗GAMES🐗STUFF🐗WOW🐗IM HERE🐗LETS GO🐗COOL🐗VERY NICE🐗zETHE BEST AT ABSOLUTELY EVERYTHING. THE JUICER. LEADER OF THE JUICERS.xQc676xqc668r   g    @zre:^https?://.*\.jpgDeadlockih20250825)r5   r6   r8   r9   rB   rD   r>   r@   
view_countrJ   durationr;   r<   r:   r=   rL   m3u8rN   zIhttps://kick.com/a-log-burner/videos/5230df84-ea38-46e1-be4f-f5949ae55641z$5230df84-ea38-46e1-be4f-f5949ae55641u;   re:😴 Cozy Fireplace ASMR 🔥 | Relax, Focus, Sleep 💤z$md5:080bc713eac0321a7b376a1b53816d1bA_Log_Burner65114691za-log-burner63967687zOther, Watch PartyrG   )r5   r6   r8   r9   rB   rD   r>   r@   r   rJ   r;   r<   r:   r=   rF   r_   )rO   rP   skipc                    U R                  U5      nU R                  SU 3U5      nUU R                  US   US5      S.[        USS[        1[
        4SSSS	[        14SSS
[        14SSS[        1[        14SSSS[        14SSS[        1[        14S[        14SS[        SS914SS[        14SSSS[        14S[        14SS[        1S 14SS[        14S.5      E$ )Nz	v1/video/sourcer7   r5   r`   rM   )rb   ra   r>   rc   rd   ra   r5   rf   rg   rh   r   i  )scaler;   r<   .re   viewsrl   c                     U (       a  S$ S$ rn   r*   ro   s    r   rq   )KickVODIE._real_extract.<locals>.<lambda>   rs   r   rG   )r8   r9   r>   r@   rB   rD   r:   r   r;   r<   r   rJ   rG   )rt   r(   rv   r   rw   ry   rx   r   r
   r   r   r	   rz   )r   rO   r]   r{   s       r   r|   KickVODIE._real_extract   s%   >>#&>>IhZ"8(C 11(82DhPUV
 8&(AC5#N ,iN()VcUC+Ysek]S)9fj3%P ,iSEK=Y*]O<):D8Q7RS*K+G+\3N&6*K$BZA[\()dV<& 
 	
r   r*   N)r+   r,   r-   r.   r~   r   rx   rw   r   r|   r1   r*   r   r   rT   rT   ^   s    GoJ R8 hb 0%,#%
" #F+). [8SA&%%$0/0$
" )+*FX
r   rT   c                       \ rS rSrSrSrSSSSSS	S
SSSSS\\S/SS.SS0S.SSSSSSSSSSSS \\S!/S"S#.SS0S.S$S%SS&S'S(S)S*S+S,S-S.\\S//S"S0.SS0S./rS1 rS2r	g3)4rV      z
kick:clipszVhttps?://(?:www\.)?kick\.com/[\w-]+(?:/clips/|/?\?(?:[^#]+&)?clip=)(?P<id>clip_[\w-]+)z;https://kick.com/mxddy?clip=clip_01GYXVB5Y8PWAPWCWMSBCFB05Xclip_01GYXVB5Y8PWAPWCWMSBCFB05Xr7   zMaddy detains Abd D:mxddy133789
AbdCreates3309077zre:^https?://.*\.jpeg#   i-Hd20230426VALORANTr   )r5   r6   r8   r>   r@   rB   rD   r;   r   r:   r=   r   
like_countr<   rJ   rL   r   rN   z=https://kick.com/destiny?clip=clip_01H9SKET879NE7N9RJRRDS98J3clip_01H9SKET879NE7N9RJRRDS98J3zW jewsdestiny1772249punished_furry2027722g     H@20230908i$dzMhttps://clips.kick.com/clips/j3/clip_01H9SKET879NE7N9RJRRDS98J3/thumbnail.pngzJust Chattingr   )r5   r8   r6   r>   r@   rB   rD   r   r=   r:   r;   r   r   r<   rJ   z=https://kick.com/spreen/clips/clip_01J8RGZRKHXHXXKJEHGRM932A5clip_01J8RGZRKHXHXXKJEHGRM932A5KLJASLDJKLJKASDLJKDASspreen5312671AnormalBarraBaja26518262g     E@20240927i3fzNhttps://clips.kick.com/clips/f2/clip_01J8RGZRKHXHXXKJEHGRM932A5/thumbnail.webp	Minecraft)r5   r6   r8   r>   r@   rB   rD   r   r=   r:   r;   r   r   r<   rJ   c                    U R                  U5      nU R                  SU S3U5      S   nUS   n[        U5      S:X  a  U R                  XBS5      nOSU0/nUUS.[	        US	[
        14S
S[
        14S
S[        1[        14SS[
        14SS[        1[        14S[        14S[        14SS[
        1[        4S[        14S[        14S[        14S[        1S 14S.5      E$ )Nz	v2/clips/z/playclipclip_urlr   r7   rO   r   r8   r>   ra   r5   creatorrf   thumbnail_urlr   categoryre   rh   r   likesrl   c                     U (       a  S$ S$ rn   r*   ro   s    r   rq   *KickClipIE._real_extract.<locals>.<lambda>   s    Abn1nr   )r8   r>   r@   rB   rD   r;   r   r<   r:   r   r   rJ   )rt   r(   r   rv   r   rw   rx   r   r   r   allr
   r	   rz   )r   rO   clip_idr   r   r`   s         r   r|   KickClipIE._real_extract   s   ..%~~	'%8'B6J
#"f,00EJGx()G 
 4!C5)%vu5($}E&
SE: )4#F-}='-9)6C5#>*]O<&6&6)D64L3MN" 
 	
r   r*   N)
r+   r,   r-   r.   r~   r   rx   r   r|   r1   r*   r   r   rV   rV      s    GjJL3+"$$1#%%,
" #F+'* O3 #($%#h*+
" #F+'* O3,#*%%#i&-
" #F+'Q<F|
r   rV   )r/   urllib.parser   commonr   utilsr   r   r   r	   r
   r   r   r   r   r   r3   rT   rV   r*   r   r   <module>r      sU      !
 
 
R R;
Z ;
|E

 E
P\
 \
r   