
    V|h                     F    S SK rSSKJr  SSKJrJrJrJr   " S S\5      r	g)    N   )InfoExtractor   )int_or_noneparse_iso8601strip_or_nonetry_getc                   4   \ rS rSrSrSrSrS\ \ S3rS\ S\ S	3/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S.SSS.SSS.SSS.SSS./r	SSSSS.SS./r
S r0 S!S"_S#S$_S%S&_S'\_S(\_S)S*_S+S,_S-S._S/S0_S1S2_S3S4_S5S6_S7S8_S9S:_S;S<_S=S>_rS? rS@rgA)BKinjaEmbedIE   zkinja:embeda1  (?:[^.]+\.)?
        (?:
            avclub|
            clickhole|
            deadspin|
            gizmodo|
            jalopnik|
            jezebel|
            kinja|
            kotaku|
            lifehacker|
            splinternews|
            the(?:inventory|onion|root|takeout)
        )\.comzX/
        (?:
            ajax/inset|
            embed/video
        )/iframe\?.*?\bid=z(?x)https?://a  
        (?P<type>
            fb|
            imgur|
            instagram|
            jwp(?:layer)?-video|
            kinjavideo|
            mcp|
            megaphone|
            soundcloud(?:-playlist)?|
            tumblr-post|
            twitch-stream|
            twitter|
            ustream-channel|
            vimeo|
            vine|
            youtube-(?:list|video)
        )-(?P<id>[^&]+)z:(?x)<iframe[^>]+?src=(?P<q>["\'])(?P<url>(?:(?:https?:)?//z)?z(?:(?!\1).)+)\1z;https://kinja.com/ajax/inset/iframe?id=fb-10103303356633621T)urlonly_matchingz8https://kinja.com/ajax/inset/iframe?id=kinjavideo-100313z>https://kinja.com/ajax/inset/iframe?id=megaphone-PPY1300931075z;https://kinja.com/ajax/inset/iframe?id=soundcloud-128574047zDhttps://kinja.com/ajax/inset/iframe?id=soundcloud-playlist-317413750zUhttps://kinja.com/ajax/inset/iframe?id=tumblr-post-160130699814-daydreams-at-midnightzChttps://kinja.com/ajax/inset/iframe?id=twitch-stream-libratus_extrazBhttps://kinja.com/ajax/inset/iframe?id=twitter-1068875942473404422z?https://kinja.com/ajax/inset/iframe?id=ustream-channel-10414700z6https://kinja.com/ajax/inset/iframe?id=vimeo-120153502z7https://kinja.com/ajax/inset/iframe?id=vine-5BlvV5qqPrDzRhttps://kinja.com/ajax/inset/iframe?id=youtube-list-BCQ3KyrPjgA/PLE6509247C270A72Ez@https://kinja.com/ajax/inset/iframe?id=youtube-video-00QyL0AgPAEzVhttp://www.clickhole.com/video/dont-understand-bitcoin-man-will-mumble-explanatio-2537106351mp4uF   Don’t Understand Bitcoin? This Man Will Mumble An Explanation At You)idexttitlezInvalid URL)r   	info_dictskip)zcdn.jwplayer.com/v2/media/
JWPlatformfb)zfacebook.com/video.php?v=Facebookimgur)z
imgur.com/Imgur	instagram)zinstagram.com/p/	Instagramzjwplayer-videoz	jwp-video	megaphone)zplayer.megaphone.fm/Generic
soundcloud)zapi.soundcloud.com/tracks/
Soundcloudzsoundcloud-playlist)zapi.soundcloud.com/playlists/SoundcloudPlaylisttumblr-post)z%s.tumblr.com/post/%sTumblrztwitch-stream)z
twitch.tv/TwitchStreamtwitter)ztwitter.com/i/cards/tfw/v1/TwitterCardzustream-channel)zustream.tv/embed/Ustreamvimeo)z
vimeo.com/Vimeovine)z
vine.co/v/Vineyoutube-list)zyoutube.com/embed/%s?list=%sYoutubePlaylistzyoutube-video)zyoutube.com/embed/Youtubec                 x   U R                  U5      R                  5       u  p#U R                  R                  U5      nU(       a  [        R
                  R                  U5      nUS:X  a  UR                  SS5      u  p5US   XS4-  nO+US:X  a  UR                  S5      u  p7US   X74-  nOUS   U-   nU R                  SU-   US   5      $ US:X  Ga  U R                  S	US
U0S9S   nUS   n	/ n
S HB  nUR                  US-   5      nU(       d  M   U
R                  U R                  XSSSSS95        MD     S nUR                  S5      =(       d    0 nUR                  S5      nU(       a)  SR                  XR                  S5      =(       d    S5      nUU	[        UR                  S5      5      U
UR                  S5      [        [        US 5      S5      UUR                  S5      S.$ U R                  S U-   U5      S!   nUS"   nUS   S#   n	UR                  S$5      =(       d    0 nUR                  S%5      =(       d    S&nU R                  US'-   US(U0S9S   S   n/ n
UR                  S)5      nU(       a  U R                  UUSSSSS9n
UR                  S*5      nU(       a.  U
R!                  S+[        U R#                  S,US-S S.95      US/.5        UU	[        US0 [$        5      UR                  S5      [        UR                  S15      5      U
[        US2 [$        5      ['        UR                  S35      5      S4.$ )5Nr"   -r   r   r,   /zhttp://
kinjavideoz0https://kinja.com/api/core/video/views/videoByIdvideoId)querydatar   )signedPlaylist	streamingUrlr   m3u8_nativehlsF)m3u8_idfatalposterr   z7https://i.kinja-img.com/gawker-media/image/upload/{}.{}formatjpgdescriptiontagsc                     U S   S   $ )NpostInfopublishTimeMillis xs    P/home/james-whalen/.local/lib/python3.13/site-packages/yt_dlp/extractor/kinja.py<lambda>,KinjaEmbedIE._real_extract.<locals>.<lambda>   s    AjM2E$F    i  network)r   r   r@   formatsrA   	timestamp	thumbnailuploaderz2https://api.vmh.univision.com/metadata/v1/content/videoMetadataphotoVideoMetadataIPTCenphotoVideoMetadata_fmg
tvssDomainzhttps://auth.univision.comz'/api/v3/video-auth/url-signature-tokensmcpidsrenditionUrlfallbackRenditionUrlfallbackz_(\d+)\.mp4bitrate)default)	format_idtbrr   c                     U S   S   $ )NcloudinaryLinklinkrE   rF   s    rH   rI   rJ      s    Q7G5H5PrK   fileDurationc                     U S   S   $ )Nr@   rS   rE   rF   s    rH   rI   rJ      s    q7G7MrK   dateReleased)r   r   rO   rP   durationrM   r@   rN   )_match_valid_urlgroups_PROVIDER_MAPgeturllibparseunquotesplit
url_result_download_jsonextend_extract_m3u8_formatsr>   r   r   r	   append_search_regexstrr   )selfr   
video_typevideo_idproviderblog
result_urlplaylist_idr5   r   rM   km3u8_urlrO   r=   	poster_id
video_dataiptcfmgtvss_domainrendition_urlfallback_rendition_urls                         rH   _real_extractKinjaEmbedIE._real_extracty   s   #44S9@@B
%%))*5||++H5H]*!)Q!7%a[D+;;
~-(0s(;%%a[H+BB
%a[83
??9z#98A;GG%&&BH 5 ' 77=?D MEG488AI.8NN4#=#= E= %U $> $4 5 5 IXXh'-2F

4(IU\\]fhrhrs{h|  iF  AF  G	 ,TXXm-DE"((F*HIMO& HHY/
 
 ,,DxO)+J 67DM$'E..!9:@bC'',/O3OK&&GG8 4 ' 66<>>?AD G HH^4M44!8U!5 5 ? &*XX.D%E"%!+&t'9'9&(>!4 (: (1 2 2   $T+PRUVGGI.'(@A"&t-MsS*488N+CD	 	rK   rE   N)__name__
__module____qualname____firstlineno__IE_NAME_DOMAIN_REGEX_COMMON_REGEX
_VALID_URL_EMBED_REGEX_TESTS_WEBPAGE_TESTS_JWPLATFORM_PROVIDERrg   r   __static_attributes__rE   rK   rH   r   r      s   GMM
 $M?=/ B J$ RR_Q``bcpbq  rA  B  CLL J P M V g U T Q H I d RI'FR h]

  N H7( 	6 	.	
 	) 	8 	B 	V 	: 	7 	A 	; 	( 	& 	K  	:!M&UrK   r   )
urllib.parseri   commonr   utilsr   r   r   r	   r   rE   rK   rH   <module>r      s#     ! B= BrK   