3
b`x!                 @   sd   d dl mZ d dlZddlmZ ddlmZmZ ddlm	Z	m
Z
mZmZmZmZ G dd	 d	eZdS )
    )unicode_literalsN   )InfoExtractor   )
compat_strcompat_urllib_parse_unquote)int_or_noneparse_iso8601strip_or_nonetry_getunescapeHTMLurljoinc               @   s   e Zd ZdZdZdZdeef 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dddgZd;Zd<d=d>eed?d@dAdBdCdDdEdFdGdHdIdJd5Z	e
d6d7 Zd8d9 Zd:S )K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=a  (?x)https?://%s%s
        (?P<type>
            fb|
            imgur|
            instagram|
            jwp(?:layer)?-video|
            kinjavideo|
            mcp|
            megaphone|
            ooyala|
            soundcloud(?:-playlist)?|
            tumblr-post|
            twitch-stream|
            twitter|
            ustream-channel|
            vimeo|
            vine|
            youtube-(?:list|video)
        )-(?P<id>[^&]+)z;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-PPY1300931075zqhttps://kinja.com/ajax/inset/iframe?id=ooyala-xzMXhleDpopuT0u1ijt_qZj3Va-34pEX%2FZTIxYmJjZDM2NWYzZDViZGRiOWJjYzc5z;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cdn.jwplayer.com/v2/media/
JWPlatformfacebook.com/video.php?v=Facebook
imgur.com/Imgurinstagram.com/p/	Instagramplayer.megaphone.fm/Generic&player.ooyala.com/player.js?embedCode=Ooyalaapi.soundcloud.com/tracks/
Soundcloudapi.soundcloud.com/playlists/SoundcloudPlaylist%s.tumblr.com/post/%sTumblr
twitch.tv/TwitchStreamtwitter.com/i/cards/tfw/v1/TwitterCardustream.tv/embed/Ustream
vimeo.com/Vimeo
vine.co/v/Vineyoutube.com/embed/%s?list=%sYoutubePlaylistyoutube.com/embed/Youtube)fbimgur	instagramzjwplayer-videoz	jwp-video	megaphoneooyala
soundcloudzsoundcloud-playlistztumblr-postztwitch-streamtwitterzustream-channelvimeovinezyoutube-listzyoutube-videoc                s&    fddt jdtjtjf | D S )Nc                s    g | ]}t  t|jd qS )r   )r   r   group).0mobj)r    FC:\Users\Broad\Desktop\All-Down\binaries\youtube_dl\extractor\kinja.py
<listcomp>   s    z.KinjaEmbedIE._extract_urls.<locals>.<listcomp>zO(?x)<iframe[^>]+?src=(?P<q>["\'])(?P<url>(?:(?:https?:)?//%s)?%s(?:(?!\1).)+)\1)refinditerr   _DOMAIN_REGEX_COMMON_REGEX)webpager   r=   )r   r>   _extract_urls}   s    zKinjaEmbedIE._extract_urlsc          
   C   s  t j| j|j \}}| jj|}|rt|}|dkrX|jdd\}}|d ||f }nJ|dkr|jd\}}|d ||f }n"|dkr|jdd }|d | }| jd| |d S |d	kr| j	d
|d|idd }|d }	g }
x:d8D ]2}|j|d }|r|
j
| j||ddddd qW | j|
 d }|jdp<i }|jd}|rfd||jdp`df }||	t|jd|
|jdtt|dd d ||jd!d"S | j	d#| |d$ }|d% }|d d& }	|jd'pi }|jd(pd)}| j	|d* |d+|idd d }g }
|jd,}|r4| j||ddddd}
|jd-}|rh|
jd.t| jd/|d0d d1|d2 | j|
 ||	t|d3d t|jd!t|jd4|
t|d5d tt|jd6d7S d S )9Nztumblr-post-r   r   zyoutube-list/r5   zhttp://Z
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/%s.%sformatjpgdescriptiontagsc             S   s   | d d S )NZpostInfoZpublishTimeMillisr=   )xr=   r=   r>   <lambda>   s    z,KinjaEmbedIE._real_extract.<locals>.<lambda>i  network)rU   rK   rX   formatsrY   	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+)\.mp4bitrate)default)	format_idtbrr   c             S   s   | d d S )NZcloudinaryLinklinkr=   )rZ   r=   r=   r>   r[      s    ZfileDurationc             S   s   | d d S )NrX   ra   r=   )rZ   r=   r=   r>   r[      s    ZdateReleased)rU   rK   r_   r`   durationr]   rX   r^   )rL   rM   )r@   match
_VALID_URLgroups_PROVIDER_MAPgetr   split
url_result_download_jsonextend_extract_m3u8_formats_sort_formatsr
   r   r   append_search_regexr   r	   )selfr   
video_typevideo_idproviderZblog
result_urlplaylist_idrJ   rK   r]   km3u8_urlr_   rT   Z	poster_id
video_dataZiptcZfmgZtvss_domainrendition_urlZfallback_rendition_urlr=   r=   r>   _real_extract   s    









zKinjaEmbedIE._real_extractN)r   r   )r   r   )r   r   )r   r   )r   r   )r   r   )r   r   )r   r    )r!   r"   )r#   r$   )r%   r&   )r'   r(   )r)   r*   )r+   r,   )r-   r.   )r/   r0   )__name__
__module____qualname__ZIENAMErB   rC   rj   _TESTSZ_JWPLATFORM_PROVIDERrl   staticmethodrE   r   r=   r=   r=   r>   r      sh   
r   )
__future__r   r@   commonr   compatr   r   utilsr   r	   r
   r   r   r   r   r=   r=   r=   r>   <module>   s
    
