U
    $Pf                     @   sP   d dl mZ 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   )
compat_str)float_or_noneint_or_noneunified_timestampurl_or_nonec                   @   sF   e Zd ZdZdddddddd	d
ddd	ddddgZdZdd ZdS )DctpTvIEz9https?://(?:www\.)?dctp\.tv/(?:#/)?filme/(?P<id>[^/?#&]+)zEhttp://www.dctp.tv/filme/videoinstallation-fuer-eine-kaufhausfassade/Z 3ffbd1556c3fe210724d7088fad723e3Z 95eaa4f33dad413aa17b4ee613cccc6cz+videoinstallation-fuer-eine-kaufhausfassadeZm4vu+   Videoinstallation für eine KaufhausfassadeZKurzfilmzre:^https?://.*\.jpg$g(\Q@iMZ20110407)	id
display_idexttitledescriptionZ	thumbnailduration	timestampZupload_date)urlmd5Z	info_dictz;http://www.dctp.tv/filme/sind-youtuber-die-besseren-lehrer/T)r   Zonly_matchingz*http://dctp-ivms2-restapi.s3.amazonaws.comc              
      sb  |  |}| d| j |d}d| j|d f }| d||f |d}| d|t|d f |d	}|d
 |d }|d}g   fdd}	|	d|rdnd  |r|	d g }
|d}t|tr|D ]J}t|tsqt|d}|sq|
	|t
|dt
|dd qΈ|||d|dp<|dt|dt|ddd|
 d	S ) Nz%s/version.jsonzDownloading version JSONz%s/%s/restapiZversion_namez%s/slugs/%s.jsonzDownloading video info JSONz%s/media/%s.jsonZ	object_idzDownloading media JSONuuidr   is_widec                    sP   d| f }  d|  |d d ddd|  |d d	d
|  |d d	g d S )Nzhttps://%%s/%s_dctp_%s.m4vzhls-zcdn-segments.dctp.tvz/playlist.m3u8Zm3u8_native)	format_idr   protocolzs3-z completed-media.s3.amazonaws.com)r   r   zhttp-zcdn-media.dctp.tv)extend)suffixZtemplformatsr    =/tmp/pip-unpacked-wheel-7zdooeg3/youtube_dl/extractor/dctp.pyadd_formats>   s    
z+DctpTvIE._real_extract.<locals>.add_formatsZ0500_Z16x9Z4x3Z720pimagesr   widthheight)r   r!   r"   Zsubtitler   ZteasercreatedZduration_in_msi  )Zscale)	r   r   r   Z	alt_titler   r   r   
thumbnailsr   )Z	_match_idZ_download_json	_BASE_URLr   get
isinstancelistdictr
   appendr   r	   r   )selfr   r   versionZrestapi_baseinfoZmediar   r   r   r$   r    imageZ	image_urlr   r   r   _real_extract'   sh    
  
  



zDctpTvIE._real_extractN)__name__
__module____qualname__Z
_VALID_URLZ_TESTSr%   r/   r   r   r   r   r      s(   r   N)
__future__r   commonr   compatr   utilsr   r   r	   r
   r   r   r   r   r   <module>   s   