
    VGhO                     F    d dl ZddlmZ ddlmZmZmZmZ  G d de      Z	y)    N   )InfoExtractor   )int_or_noneparse_iso8601strip_or_nonetry_getc                      e Zd ZdZdZdZde e dZde de dgZd	d
ddd
ddd
ddd
ddd
ddd
ddd
ddd
ddd
ddd
ddd
ddd
ddd
dgZdZ	i ddddddde	d e	d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6Z
d7 Zy8)9KinjaEmbedIEz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-00QyL0AgPAE)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                 >   | j                  |      j                         \  }}| j                  j                  |      }|rt        j
                  j                  |      }|dk(  r |j                  dd      \  }}|d   ||fz  }n,|dk(  r|j                  d      \  }}|d   ||fz  }n|d   |z   }| j                  d|z   |d         S |dk(  r	| j                  d	|d
|i      d   }|d   }	g }
dD ]?  }|j                  |dz         }|s|
j                  | j                  ||dddd             A d }|j                  d      xs i }|j                  d      }|r%dj                  ||j                  d      xs d      }||	t        |j                  d            |
|j                  d      t        t        |d       d      ||j                  d      dS | j                  d |z   |      d!   }|d"   }|d   d#   }	|j                  d$      xs i }|j                  d%      xs d&}| j                  |d'z   |d(|i      d   d   }g }
|j                  d)      }|r| j                  ||dddd      }
|j                  d*      }|r1|
j!                  d+t        | j#                  d,|d-d .            |d/       ||	t        |d0 t$              |j                  d      t        |j                  d1            |
t        |d2 t$              t'        |j                  d3            d4S )5Nr   -r   r   r$   /zhttp://
kinjavideoz0https://kinja.com/api/core/video/views/videoByIdvideoId)querydatatitle)signedPlaylist	streamingUrlmp4m3u8_nativehlsF)m3u8_idfatalposteridz7https://i.kinja-img.com/gawker-media/image/upload/{}.{}formatjpgdescriptiontagsc                     | d   d   S )NpostInfopublishTimeMillis xs    _/var/www/it7/html/youtubeDownloader/venv/lib/python3.12/site-packages/yt_dlp/extractor/kinja.py<lambda>z,KinjaEmbedIE._real_extract.<locals>.<lambda>   s    AjM2E$F     i  network)r8   r.   r;   formatsr<   	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                     | d   d   S )NcloudinaryLinklinkr@   rA   s    rC   rD   z,KinjaEmbedIE._real_extract.<locals>.<lambda>   s    Q7G5H5P rE   fileDurationc                     | d   d   S )Nr;   rM   r@   rA   s    rC   rD   z,KinjaEmbedIE._real_extract.<locals>.<lambda>   s    q7G7M rE   dateReleased)r8   r.   rI   rJ   durationrG   r;   rH   )_match_valid_urlgroups_PROVIDER_MAPgeturllibparseunquotesplit
url_result_download_jsonextend_extract_m3u8_formatsr9   r   r   r	   append_search_regexstrr   )selfr   
video_typevideo_idproviderblog
result_urlplaylist_idr-   r.   rG   km3u8_urlrI   r7   	poster_id
video_dataiptcfmgtvss_domainrendition_urlfallback_rendition_urls                         rC   _real_extractzKinjaEmbedIE._real_extractp   s   #44S9@@B
H%%))*5||++H5H]*!)Q!7$%a[D(+;;
~-(0s(;%+%a[Hk+BB
%a[83
??9z#98A;GG%&&BH 5 ' 77=?D MEG4 588AI.NN4#=#= (E= %U $> $4 55 IXXh'-2F

4(IU\\]fhnhrhrs{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	 	rE   N)__name__
__module____qualname__IE_NAME_DOMAIN_REGEX_COMMON_REGEX
_VALID_URL_EMBED_REGEX_TESTS_JWPLATFORM_PROVIDERra   r~   r@   rE   rC   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'FP H7( 	6 	.	
 	) 	8 	B 	V 	: 	7 	A 	; 	( 	& 	K  	:!M&UrE   r   )
urllib.parserc   commonr   utilsr   r   r   r	   r   r@   rE   rC   <module>r      s#     ! y= yrE   