
    yf                     J    d dl mZ ddlmZ ddlmZmZmZmZ  G d de      Z	y)   )InfoExtractor   )
compat_str)float_or_noneint_or_noneunified_timestampurl_or_nonec                   D    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 Zy)DctpTvIEz9https?://(?:www\.)?dctp\.tv/(?:#/)?filme/(?P<id>[^/?#&]+)zEhttp://www.dctp.tv/filme/videoinstallation-fuer-eine-kaufhausfassade/ 3ffbd1556c3fe210724d7088fad723e3 95eaa4f33dad413aa17b4ee613cccc6cz+videoinstallation-fuer-eine-kaufhausfassadem4vu+   Videoinstallation für eine KaufhausfassadeKurzfilmzre:^https?://.*\.jpg$g(\Q@iM20110407)	id
display_idexttitledescription	thumbnailduration	timestampupload_date)urlmd5	info_dictz;http://www.dctp.tv/filme/sind-youtuber-die-besseren-lehrer/T)r   only_matchingz*http://dctp-ivms2-restapi.s3.amazonaws.comc                    | j                  |      }| j                  d| j                  z  |d      }| j                  d|d   d}| j                  |d|d|d      }| j                  |d	t        |d
         d|d      }|d   |d   }|j	                  d      }g fd}	 |	d|rdndz          |r |	d       g }
|j	                  d      }t        |t              rz|D ]u  }t        |t              st        |j	                  d            }|s1|
j                  |t        |j	                  d            t        |j	                  d            d       w |||j	                  d      |j	                  d      xs |j	                  d      t        |j	                  d            t        |j	                  d      d      |
d 	S )!Nz%s/version.jsonzDownloading version JSON/version_namez/restapiz/slugs/z.jsonzDownloading video info JSONz/media/	object_idzDownloading media JSONuuidr   is_widec                 ~    dd| d}j                  d| z   |dz  dz   ddd	| z   |d
z  dd| z   |dz  dg       y )Nzhttps://%s/_dctp_z.m4vzhls-zcdn-segments.dctp.tvz/playlist.m3u8m3u8_native)	format_idr   protocolzs3-z completed-media.s3.amazonaws.com)r'   r   zhttp-zcdn-media.dctp.tv)extend)suffixtemplformatsr"   s     7/usr/lib/python3/dist-packages/yt_dlp/extractor/dctp.pyadd_formatsz+DctpTvIE._real_extract.<locals>.add_formats;   sk    48&AENN#f_558HH)
 #V^AA %v-22
 
    0500_16x94x3720pimagesr   widthheight)r   r5   r6   subtitler   teasercreatedduration_in_msi  )scale)	r   r   r   	alt_titler   r   r   
thumbnailsr,   )	_match_id_download_json	_BASE_URLr   get
isinstancelistdictr	   appendr   r   r   )selfr   r   versionrestapi_baseinfomediar   r#   r.   r=   r4   image	image_urlr,   r"   s                 @@r-   _real_extractzDctpTvIE._real_extract$   s   ^^C(
%%.
&(
 NNGN35 """.
;Z)+ ##".
4;L0MN02 V}g))I&	 	Gve<=
8$fd# 
!%.'		%(89	 !!$(7);<)%))H*=># 
 $:. 99]3Juyy7J*599Y+?@%eii0@&AN$

 
	
r/   N)__name__
__module____qualname__
_VALID_URL_TESTSr@   rM    r/   r-   r   r      sW    MJ W14GB%1#%

	" MF* =IB
r/   r   N)
commonr   compatr   utilsr   r   r   r	   r   rS   r/   r-   <module>rW      s#    !  [
} [
r/   