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   © úKC:\Users\Broad\Desktop\BeinConnetFix\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|ƒ}|r¶t|ƒ}|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�ƒ qêW | 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'ƒ�pØi }|jd(ƒ�pèd)}| 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
    
