a
    h*                     @   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                   @   st   e Zd ZdZdZddddddd	d
dg dg dd
dddddddd	ddddgg d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10357277)u	   宣传片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   三维CG)u   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   s`  |  |}| j||d|id}| ||d d d d }| jd|d  |d	|d	 id
d }g i  }}|d D ]\}}	|dv r|	d}
|
sqx|dkr| j|
|d\}}n|dkr| j|
|d\}}|| | 	||}qx|dkrx|dd |	D  qx||d|dt
|d|d|d|dt|dd tt|dd ||dS )NZReferer)video_idheaderspropsZ	pagePropsZdetailvideoz2https://mod-api.xinpianchang.com/mod/api/v2/media/ZvidZappKey)querydataresource)dashhlsr   r   )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	   Rangezbytes=0-)r   r    r!   r   Zhttp_headers)getr   r   ).0prog r&   R/mnt/pikpak/tmp/myenv/lib/python3.9/site-packages/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   r0   r1   kvZv_urlZfmtssubsr&   r&   r'   _real_extract.   sJ    





	
zXinpianchangIE._real_extractN)__name__
__module____qualname__Z
_VALID_URLZIE_DESCZ_TESTSr8   r&   r&   r&   r'   r   
   sB   !r   N)commonr   utilsr   r   r   r   r   r&   r&   r&   r'   <module>   s   