3
b`                 @   sH   d dl mZ d dlZddlmZ ddlmZmZmZ G dd deZ	dS )	    )unicode_literalsN   )InfoExtractor   )int_or_nonestr_or_noneurl_or_nonec               @   sN   e Zd ZdZddddddddd	d
dddddgZedd Zdd ZdS )ViqeoIEaE  (?x)
                        (?:
                            viqeo:|
                            https?://cdn\.viqeo\.tv/embed/*\?.*?\bvid=|
                            https?://api\.viqeo\.tv/v\d+/data/startup?.*?\bvideo(?:%5B%5D|\[\])=
                        )
                        (?P<id>[\da-f]+)
                    z4https://cdn.viqeo.tv/embed/?vid=cde96f09d25f39bee837Z a169dd1a6426b350dca4296226f21e76Zcde96f09d25f39bee837mp4zre:^https?://.*\.jpg$L   )idexttitle	thumbnailduration)urlmd5	info_dictzviqeo:cde96f09d25f39bee837T)r   only_matchingzQhttps://api.viqeo.tv/v1/data/startup?video%5B%5D=71bbec412ade45c3216c&profile=112c             C   s   dd t jd| D S )Nc             S   s   g | ]}|j d qS )r   )group).0mobj r   FC:\Users\Broad\Desktop\All-Down\binaries\youtube_dl\extractor\viqeo.py
<listcomp>,   s   z)ViqeoIE._extract_urls.<locals>.<listcomp>z^<iframe[^>]+\bsrc=(["\'])(?P<url>(?:https?:)?//cdn\.viqeo\.tv/embed/*\?.*?\bvid=[\da-f]+.*?)\1)refinditer)webpager   r   r   _extract_urls)   s    zViqeoIE._extract_urlsc             C   s\  | j |}| jd| |}| j| jd|d|}g }g } x|d D ]}t|tsTqDt|jd}| sD|jd rvqDt	|jd}	|	sqD|	j
d	d
 j }
|t|jdt|jdd}t	|jd}|
dkr||d< |j| qD|
dkrD|
dk}|j|rdn|t|jd|rdnd d |j| qDW | j| t|jd}|||||dS )Nz"https://cdn.viqeo.tv/embed/?vid=%szSLOT_DATA\s*=\s*({.+?})\s*;z	slot dataZ
mediaFilesr   http//type/r   widthheight)r   r#   r$   qualityimager   videoaudiofpsnone)	format_idr)   vcodecr   )r   r   r   
thumbnailsformats)r   r    )r'   r(   )	_match_id_download_webpage_parse_json_search_regex
isinstancedictr   get
startswithr   splitlowerr   appendupdate_sort_formats)selfr   video_idr   datar.   r-   Z
media_file	media_url
media_typeZ
media_kindfr+   is_audior   r   r   r   _real_extract1   sP    


zViqeoIE._real_extractN)__name__
__module____qualname__
_VALID_URL_TESTSstaticmethodr   rC   r   r   r   r   r	      s   

r	   )

__future__r   r   commonr   utilsr   r   r   r	   r   r   r   r   <module>   s   