U
    y^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dddddd d!d"d#d$d%Z	e
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=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)zcdn.jwplayer.com/v2/media/
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&player.ooyala.com/player.js?embedCode=Ooyala)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/Ustream)z
vimeo.com/Vimeo)z
vine.co/v/Vine)zyoutube.com/embed/%s?list=%sYoutubePlaylist)zyoutube.com/embed/Youtube)fbimgur	instagramzjwplayer-videoz	jwp-video	megaphoneooyala
soundcloudzsoundcloud-playlisttumblr-postztwitch-streamtwitterzustream-channelvimeovineyoutube-listzyoutube-videoc                    s&    fddt dtjtjf | D S )Nc                    s    g | ]}t  t|d qS r   )r   r   group).0mobjr$    MC:\Users\TaGoRe\Desktop\beinconnect-dl\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|}|rt|}|dkrX|dd\}}|d ||f }nJ|dkr|d\}}|d ||f }n"|dkr|dd }|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 q| |
 d }|dp8i }|d}|rbd||dp\df }||	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+}|r0| j||ddddd}
|d,}|rd|
d-t| jd.|d/d d0|d1 | |
 ||	t|d2d t|d t|d3|
t|d4d tt|d5d6S d S )7Nr   -r   r   r#   /r   zhttp://Z
kinjavideoz0https://kinja.com/api/core/video/views/videoByIdvideoId)querydatatitle)ZsignedPlaylistZ	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>       z,KinjaEmbedIE._real_extract.<locals>.<lambda>i  network)r>   r6   rA   formatsrB   	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(   rC   r(   r(   r)   rE      rF   ZfileDurationc                 S   s   | d d S )NrA   rL   r(   rC   r(   r(   r)   rE      rF   ZdateReleased)r>   r6   rJ   rK   durationrH   rA   rI   )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_idr5   r6   rH   km3u8_urlrJ   r=   Z	poster_id
video_dataZiptcZfmgZtvss_domainrendition_urlZfallback_rendition_urlr(   r(   r)   _real_extract   s    
     


  
    
  
zKinjaEmbedIE._real_extractN)__name__
__module____qualname__ZIENAMEr-   r.   rU   _TESTSZ_JWPLATFORM_PROVIDERrW   staticmethodr0   rk   r(   r(   r(   r)   r      s   +
r   )
__future__r   r+   commonr   compatr   r   utilsr   r	   r
   r   r   r   r   r(   r(   r(   r)   <module>   s
    
