a
    h                     @   s0   d dl mZ ddlmZmZ G dd deZdS )   )InfoExtractor   )float_or_noneint_or_nonec                   @   s   e Zd ZdZdZdgZdddddd	d
ddddeeg ddddddddddddeeddddddd d!d"d#d$eed%	ddd&d'd(d)d!d*d+d,eed%	d-d.id/gZd0dd(dd1d2d3gZd4d5 Z	d6S )7	ViddlerIEFzZhttps?://(?:www\.)?viddler\.com/(?:v|embed|player)/(?P<id>[a-z0-9]+)(?:.+?\bsecret=(\d+))?zq<(?:iframe[^>]+?src|param[^>]+?value)=(["\'])(?P<url>(?:https?:)?//(?:www\.)?viddler\.com/(?:embed|player)/.+?)\1z!http://www.viddler.com/v/43903784Z 9eee21161d2c7f5b39690c3e325fab2fZ43903784ZmovzVideo Made Easyz$md5:6a697ebd844ff3093bd2e82c37b409cdviddleri&OZ20120425g)\8Y@zre:https?://.+\.jpg)zvideo contentzhigh quality videozvideo made easyz+how to produce video with limited resourcesr   )idexttitledescriptionuploader	timestampupload_dateduration	thumbnail
view_countcomment_count
categorieszInvalid URL)urlmd5	info_dictskipz"http://www.viddler.com/v/4d03aad9/Z f12c5a7fa839c47a79363bfdf69404fbZ4d03aad9tszWALL-TO-GORTATZ20150126ZdeadspiniYT)r   r	   r
   r   r   r   r   r   )r   r   r   z)http://www.viddler.com/player/221ebbbd/0/Z 740511f61d3d1bb71dc14a0fe01a1c10Z221ebbbdz'LETeens-Grammar-snack-third-conditional Z20140929Z	BCLETeensi^)T)	r   r	   r
   r   r   r   r   r   r   z1http://www.viddler.com/v/890c0985?secret=34051570Z890c0985Zmp4z)Complete Property Training - TraineeshipsZ20130606ZTiffanyBowtelliQZskip_downloadT)r   r   paramszXhttps://deadspin.com/i-cant-stop-watching-john-wall-chop-the-nuggets-with-th-1681801597/)r   r	   r
   zSite no longer embeds Viddler)r   r   r   c                 C   s  |  | \}}|dd}|r(||d< | jd|d|i|dd }g }|d D ]}|d	d
d
krfqN|dpv|d }||d | |d t|dt|dt|d|ddd}	||	 |dr|	 }	| |d d|	d< |d |	d< d|	d< ||	 |drN|	 }	| |d |	d< |d |	d< d|	d< ||	 qNdd |dg D }
||d  ||d!t|d"| |d#|d$t|d%t|d&t|d'|
d(S ))NZv0vhrt7bg2xq1vyxhkct)video_idkeysecretzDhttp://api.viddler.com/api/v2/viddler.videos.getPlaybackDetails.jsonZReferer)headersqueryvideofilesstatusreadyZ
profile_idZprofile_namer   widthheightsizer	   )	format_idZformat_noter   r$   r%   filesizer	   source_preferenceZcdn_urlzhttp:z-cdnr(   r   r*   Zhtml5_video_sourcez-html5    c                 S   s   g | ]}d |v r| d qS )text)get).0t r0   M/mnt/pikpak/tmp/myenv/lib/python3.9/site-packages/yt_dlp/extractor/viddler.py
<listcomp>   s   z+ViddlerIE._real_extract.<locals>.<listcomp>tagsr
   r   Zupload_timeZthumbnail_urlauthorlengthr   r   )r   r
   formatsr   r   r   r   r   r   r   r   )	Z_match_valid_urlgroupsZ_download_jsonr-   Z_proto_relative_urlr   appendcopyr   )selfr   r   r   r   datar6   Zfiledr(   fr   r0   r0   r1   _real_extractW   sl    





zViddlerIE._real_extractN)
__name__
__module____qualname__Z_WORKINGZ
_VALID_URLZ_EMBED_REGEXintZ_TESTSZ_WEBPAGE_TESTSr=   r0   r0   r0   r1   r      s   A
r   N)commonr   utilsr   r   r   r0   r0   r0   r1   <module>   s   