U
    $Pf                     @   sD   d dl mZ ddlmZ ddlmZmZmZmZ G dd deZ	dS )	    )unicode_literals   )InfoExtractor   )bool_or_nonesmuggle_urltry_geturl_or_nonec                   @   sh   e Zd ZdZdddddddd	d
dddddddddddiddddddddddgZdd ZdS )SlidesLiveIEz'https?://slideslive\.com/(?P<id>[0-9]+)z0https://slideslive.com/38902413/gcc-ia16-backendZ b29fcd6c6952d0c79c5079b0e7a07e6fZLMtgR8ba0b0mp4zGCC IA16 backendzDWatch full version of this video at https://slideslive.com/38902413.zSlidesLive Videos - AzUC62SdArr41t_-_fX40QCLRwi9_Z20170925)idexttitledescriptionZuploaderZuploader_id	timestampZupload_date)urlmd5	info_dictzhttps://slideslive.com/38935785Z 575cd7a6c0acc6e28422fe76dd4bcb1aZRMraDYN5ozA_zGOffline Reinforcement Learning: From Algorithms to Practical Challenges)r   r   r   formatZ	bestvideo)r   r   r   paramszUhttps://slideslive.com/38903721/magic-a-scientific-resurrection-of-an-esoteric-legendT)r   Zonly_matchingz>https://slideslive.com/38922070/learning-transferable-skills-1zZhttps://slideslive.com/38921896/retrospectives-a-venue-for-selfreflection-in-ml-research-3c              	   C   s  |  |}| d| |}|d  }|dks2t|d }i }t|dd tpPg D ]H}t|tsbqRt|	d}|svqR|	dpd	}	|
|	g d
|i qR||	dt|	d|d}
|dkrH|d |
d< |d
kr||
d
< ndg }d}|| j||df |dddd || j||df |ddd | | |
||d nB|
d|| |	dd |dkrtd| dd|ii|
d
< |
S ) Nz"https://ben.slideslive.com/player/Zvideo_service_name)r   yodavimeoZyoutubeZvideo_service_idc                 S   s   | d S )N	subtitles )xr   r   C/tmp/pip-unpacked-wheel-7zdooeg3/youtube_dl/extractor/slideslive.py<lambda>?       z,SlidesLiveIE._real_extract.<locals>.<lambda>
webvtt_urllanguageenr   	thumbnailis_live)r   r!   r"   r   )r   r   r   z/https://01.cdn.yoda.slideslive.com/%s/master.%sZm3u8r   ZhlsF)Zm3u8_idfatalZmpdZdash)Zmpd_idr#   )r   formatsZurl_transparent)_typer   Zie_keyr   r   zhttps://player.vimeo.com/video/Zhttp_headersZReferer)Z	_match_idZ_download_jsonlowerAssertionErrorr   list
isinstancedictr	   get
setdefaultappendr   extendZ_extract_m3u8_formatsZ_extract_mpd_formatsZ_sort_formatsupdate
capitalizer   )selfr   Zvideo_idZ
video_dataZservice_nameZ
service_idr   subr   langinfor$   Z_MANIFEST_PATTERNr   r   r   _real_extract7   sz    
 
 


   
  



zSlidesLiveIE._real_extractN)__name__
__module____qualname__Z
_VALID_URLZ_TESTSr5   r   r   r   r   r
      sD    (r
   N)

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