U
    gO                     @   s@   d dl ZddlmZ ddlmZmZmZmZ G dd deZ	dS )    N   )InfoExtractor   )int_or_noneparse_iso8601strip_or_nonetry_getc                   @   s   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	ddde	e	ddddd d!d"d#d$d%d&d'Z
d(d) Zd*S )+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)urlZ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/Z
JWPlatform)zfacebook.com/video.php?v=ZFacebook)z
imgur.com/ZImgur)zinstagram.com/p/Z	Instagram)zplayer.megaphone.fm/Generic)zapi.soundcloud.com/tracks/Z
Soundcloud)zapi.soundcloud.com/playlists/ZSoundcloudPlaylist)z%s.tumblr.com/post/%sZTumblr)z
twitch.tv/ZTwitchStream)ztwitter.com/i/cards/tfw/v1/ZTwitterCard)zustream.tv/embed/ZUstream)z
vimeo.com/ZVimeo)z
vine.co/v/ZVine)zyoutube.com/embed/%s?list=%sZYoutubePlaylist)zyoutube.com/embed/ZYoutube)ZfbZimgurZ	instagramzjwplayer-videoz	jwp-videoZ	megaphoneZ
soundcloudzsoundcloud-playlisttumblr-postztwitch-streamZtwitterzustream-channelZvimeoZvineyoutube-listzyoutube-videoc                 C   s  |  | \}}| j|}|rtj|}|dkrX|dd\}}|d ||f }n4|dkr|d\}}|d ||f }n|d | }| d| |d S |dkr~| j	d	|d
|idd }|d }	g }
dD ]2}||d }|r|

| j||ddddd qd }|dpi }|d}|rBd||dp>d}||	t|d|
|dtt|dd d||dd S | 	d!| |d" }|d# }|d d$ }	|d%pi }|d&pd'}| j	|d( |d)|idd d }g }
|d*}|r| j||ddddd}
|d+}|rD|
d,t| jd-|d.d d/|d0 ||	t|d1d t|dt|d2|
t|d3d tt|d4d5S d S )6Nr   -r   r   r   /zhttp://Z
kinjavideoz0https://kinja.com/api/core/video/views/videoByIdZvideoId)querydatatitle)ZsignedPlaylistZ	streamingUrlZmp4Zm3u8_nativeZhlsF)Zm3u8_idfatalposteridz7https://i.kinja-img.com/gawker-media/image/upload/{}.{}formatZjpgdescriptiontagsc                 S   s   | d d S )NZpostInfoZpublishTimeMillis xr   r   :/tmp/pip-unpacked-wheel-q5ljy6pj/yt_dlp/extractor/kinja.py<lambda>       z,KinjaEmbedIE._real_extract.<locals>.<lambda>i  network)r   r   r   formatsr   	timestamp	thumbnailuploaderz2https://api.vmh.univision.com/metadata/v1/content/ZvideoMetadataZphotoVideoMetadataIPTCenZphotoVideoMetadata_fmgZ
tvssDomainzhttps://auth.univision.comz'/api/v3/video-auth/url-signature-tokensZmcpidsZrenditionUrlZfallbackRenditionUrlfallbackz_(\d+)\.mp4Zbitrate)default)Z	format_idZtbrr
   c                 S   s   | d d S )NZcloudinaryLinklinkr   r   r   r   r   r      r   ZfileDurationc                 S   s   | d d S )Nr   r%   r   r   r   r   r   r      r   ZdateReleased)r   r   r#   r$   durationr!   r   r"   )Z_match_valid_urlgroups_PROVIDER_MAPgeturllibparseunquotesplitZ
url_resultZ_download_jsonextendZ_extract_m3u8_formatsr   r   r   r   appendZ_search_regexstrr   )selfr
   Z
video_typeZvideo_idZproviderZblogZ
result_urlZplaylist_idr   r   r!   kZm3u8_urlr#   r   Z	poster_idZ
video_dataZiptcZfmgZtvss_domainZrendition_urlZfallback_rendition_urlr   r   r   _real_extractp   s    
     

  
    
  	zKinjaEmbedIE._real_extractN)__name__
__module____qualname__ZIE_NAMEZ_DOMAIN_REGEXZ_COMMON_REGEXZ
_VALID_URLZ_EMBED_REGEXZ_TESTSZ_JWPLATFORM_PROVIDERr+   r6   r   r   r   r   r	      s   (r	   )
urllib.parser-   commonr   utilsr   r   r   r   r	   r   r   r   r   <module>   s   