o
    i                     @   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/ 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              
      sd  |  |}| | j d|d}d| j|d }| | d| d|d}| d|t|d	 |d
}|d |d }|d}g   fdd}	|	d|rQdnd  |r[|	d g }
|d}t|tr|D ]%}t|tsqqit	|d}|s{qi|

|t|dt|dd qi|||d|dp|dt|dt|ddd|
 d 	S )!Nz/version.jsonzDownloading version JSONz{}/{}/restapiversion_namez/slugs/z.jsonzDownloading video info JSONz{}/media/{}.json	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/_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    I/home/ubuntu/.local/lib/python3.10/site-packages/yt_dlp/extractor/dctp.pyadd_formats:   s   

z+DctpTvIE._real_extract.<locals>.add_formats0500_16x94x3720pimagesr   widthheight)r   r0   r1   subtitler   teasercreatedduration_in_msi  )scale)	r   r   r   	alt_titler   r   r   
thumbnailsr'   )	_match_id_download_json	_BASE_URLformatstrget
isinstancelistdictr   appendr   r   r   )selfr   r   versionrestapi_baseinfomediar   r   r*   r8   r/   image	image_urlr(   r&   r)   _real_extract#   s`   






zDctpTvIE._real_extractN)__name__
__module____qualname__
_VALID_URL_TESTSr;   rJ   r(   r(   r(   r)   r   
   s*    r   N)commonr   utilsr   r   r   r   r   r(   r(   r(   r)   <module>   s    