U
    $Pf	                     @   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   )
js_to_jsonint_or_noneunescapeHTMLc                   @   s,   e Zd ZdZdddddddZd	d
 ZdS )	ReutersIEz>https?://(?:www\.)?reuters\.com/.*?\?.*?videoId=(?P<id>[0-9]+)z\http://www.reuters.com/video/2016/05/20/san-francisco-police-chief-resigns?videoId=368575562Z 8015113643a0b12838f160b0b81cc2eeZ	368575562mp4z"San Francisco police chief resigns)idexttitle)urlmd5Z	info_dictc                    s.    |} d| |}t d|dd fdd	}t|ddd	}td
|ddd	 \}} jd||f |td}g }	|D ]~}
|
	d}|sq|
	d}|dkr|	
 j||ddddd q|
	d}|dkrdn|}|	||||dkr|nd d q |	 |||dt|d|	dS )Nz7http://www.reuters.com/assets/iframe/yovideo?videoId=%sz,(?s)Reuters\.yovideo\.drawPlayer\(({.*?})\);z
video dataFc                    s    j d|  | |dS )Nz"%s"\s*:\s*"([^"]+)"fatal)_search_regex)keyr   selfZ
video_data @/tmp/pip-unpacked-wheel-7zdooeg3/youtube_dl/extractor/reuters.pyget_json_value"   s    z/ReutersIE._real_extract.<locals>.get_json_valuer   Tr   z,/(\d+)\?f=(\d+)Zflvz2http://mas-e.cds1.yospace.com/mas/%s/%s?trans=json)Ztransform_sourcer   methodZhlsr
   Zm3u8_native)Zm3u8_idr   	containerZmobileZ3gp)Z	format_idr   r   r   Zthumbseconds)r   r   Z	thumbnaildurationformats)F)Z	_match_idZ_download_webpager   r   r   researchgroupsZ_download_jsongetextendZ_extract_m3u8_formatsappendZ_sort_formatsr   )r   r   Zvideo_idZwebpager   r   ZmmidZfidZmas_datar   fZf_urlr   r   r   r   r   r   _real_extract   s`    
  
 

     




zReutersIE._real_extractN)__name__
__module____qualname__Z
_VALID_URLZ_TESTr%   r   r   r   r   r	      s   
r	   )

__future__r   r   commonr   utilsr   r   r   r	   r   r   r   r   <module>   s   