U
    g                     @   s8   d dl mZ ddlmZmZmZmZ G dd deZdS )   )InfoExtractor   )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              
      sh  |  |}| | j d|d}d| j|d }| | d| d|d}| d|t|d	 |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pB|dt|dt|ddd|
 d 	S )!Nz/version.jsonzDownloading version JSONz{}/{}/restapiZversion_namez/slugs/z.jsonzDownloading video info JSONz{}/media/{}.jsonZ	object_idzDownloading media JSONuuidr   is_widec                    sV   d d|  d}  d|  |d d ddd	|  |d
 dd|  |d dg d S )Nzhttps://%s/Z_dctp_z.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    9/tmp/pip-unpacked-wheel-q5ljy6pj/yt_dlp/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_URLformatstr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)commonr   utilsr   r   r   r   r   r   r   r   r   <module>   s   