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   )int_or_nonestr_or_nonetry_geturl_or_nonec                   @   s   e Zd ZdZdZddddddd	d
dddddgddddddddgd
dddddddd	dd d!d"gd#d$d%d&gd
dd'd(d)gZd*d+ Zd,S )-XinpianchangIEz/https?://(www\.)?xinpianchang\.com/(?P<id>a\d+)u	   新片场z&https://www.xinpianchang.com/a11766551Z	a11766551mp4u;   北京2022冬奥会闭幕式再见短片-冰墩墩下班了z$md5:4a730c10639a82190fabe921c0fa4b87   z,re:^https?://oss-xpc0\.xpccdn\.com.+/assets/u   正时文创Z10357277u	   宣传片u   国家城市u   广告u   其他u   北京冬奥会u	   冰墩墩u   再见u   告别u   冰墩墩哭了u   感动u	   闭幕式u   熄火)
idexttitledescriptionduration	thumbnailuploaderuploader_id
categoriestags)urlZ	info_dictz&https://www.xinpianchang.com/a11762904Z	a11762904u3   冬奥会决胜时刻《法国派出三只鸡？》z$md5:55cb139ef8f48f0c877932d1f196df8b   u   精品动画Z10858927u   动画u   三维CGu   France Télévisionsu
   法国3台u   蠢萌u	   冬奥会zghttps://www.xinpianchang.com/a11779743?from=IndexPick&part=%E7%BC%96%E8%BE%91%E7%B2%BE%E9%80%89&index=2T)r   Zonly_matchingc                 C   sZ  |  |}| j||d}| ||d d d d }| jd|d  |d|d id	d
 }g i  }}|d D ]\}}	|dkr|	d}
|
sqr|dkr| j|
|d\}}n|dkr| j|
|d\}}|| | 	||}qr|dkrr|dd |	D  qr||d|dt
|d|d|d|dt|dd tt|dd ||dS )N)video_idpropsZ	pagePropsZdetailvideoz2https://mod-api.xinpianchang.com/mod/api/v2/media/ZvidZappKey)querydataresource)dashhlsr   r   r   Zprogressivec                 S   sL   g | ]D}| d sg rt| d t| dt| ddddidqS )r   widthheightr	   ZRangezbytes=0-)r   r   r    r   Zhttp_headers)getr   r   ).0prog r$   A/tmp/pip-unpacked-wheel-q5ljy6pj/yt_dlp/extractor/xinpianchang.py
<listcomp>C   s   	 
  z0XinpianchangIE._real_extract.<locals>.<listcomp>r   r   r   r   keywordsZcoverc                 S   s   | d d S )Nownerusernamer$   xr$   r$   r%   <lambda>V       z.XinpianchangIE._real_extract.<locals>.<lambda>c                 S   s   | d d S )Nr(   r   r$   r*   r$   r$   r%   r,   W   r-   )r   r   r   r   r   r   r   r   r   formats	subtitles)Z	_match_idZ_download_webpageZ_search_nextjs_dataZ_download_jsonr!   itemsZ"_extract_mpd_formats_and_subtitlesZ#_extract_m3u8_formats_and_subtitlesextendZ_merge_subtitlesr   r   r   )selfr   r   ZwebpageZ
video_datar   r.   r/   kvZv_urlZfmtssubsr$   r$   r%   _real_extract.   sL    
 




	
zXinpianchangIE._real_extractN)__name__
__module____qualname__Z
_VALID_URLZIE_DESCZ_TESTSr6   r$   r$   r$   r%   r   
   sB   

!r   N)commonr   utilsr   r   r   r   r   r$   r$   r$   r%   <module>   s   