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 |¡}|r¶t|ƒ}|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&¡�pÔi }| d'¡�päd(}| 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
    
