3
b`?                 @   s4   d dl mZ d dlZddlmZ G dd deZdS )    )unicode_literalsN   )InfoExtractorc            	   @   sX   e Zd ZdZdddddd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 )NhkVodIEzthttps?://www3\.nhk\.or\.jp/nhkworld/(?P<lang>[a-z]{2})/ondemand/(?P<type>video|audio)/(?P<id>\d{7}|[^/]+?-\d{8}-\d+)z:https://www3.nhk.or.jp/nhkworld/en/ondemand/video/9999011/Z 256a1be14f48d960a7e61e2532d95ec3Za95j5izamp4z?Dining with the Chef - Chef Saito's Family recipe: MENCHI-KATSUz$md5:5aee4a9f9d81c26281862382103b0ea5iV]Z20190816)idexttitledescription	timestampupload_date)urlmd5	info_dictz:https://www3.nhk.or.jp/nhkworld/en/ondemand/video/2015173/T)r   only_matchingzDhttps://www3.nhk.or.jp/nhkworld/en/ondemand/audio/plugin-20190404-1/zDhttps://www3.nhk.or.jp/nhkworld/fr/ondemand/audio/plugin-20190404-1/zChttps://www3.nhk.or.jp/nhkworld/en/ondemand/audio/j_art-20150903-1/zFhttps://api.nhk.or.jp/nhkworld/%sod%slist/v7a/episode/%s/%s/all%s.jsonc                s  t j| j|j \}}}|j r<|d d d |dd   }|dk}| j| j|rTdnd|d d dkrjdnd|||rxd	nd
f |ddidd d d   jdp d } fdd}|d}g }	xBd2D ]:\}
}} jd|
 }|sq|	jd| ||d| d qW |d | |r(|r(d||f n||d |	||d!}|r^|j	d"d#d$ d%  d& nJ d' }|d' }| j
d(| |d)d*d+d,d-|d.< x|d. D ]}||d/< qW |S )3N   -videovrZ9999clipZesdz/all apikeyZ EJfK8jdS57GqlupFgAfAAwr573q01y6k)querydataepisodesr   Zsub_title_cleanZ	sub_titlec                s    j | d p j | S )NZ_clean)get)key)episode DC:\Users\Broad\Desktop\All-Down\binaries\youtube_dl\extractor\nhk.pyget_clean_field5   s    z/NhkVodIE._real_extract.<locals>.get_clean_fieldr	     h  _l     imagez%dpzhttps://www3.nhk.or.jp)r   heightwidthr   z%s - %sr
   )r   r	   r
   
thumbnailsseriesr   url_transparentZPikselz2https://player.piksel.com/v/refid/nhkworld/prefid/vod_id)_typeie_keyr   audioz0https://nhkworld-vh.akamaihd.net/i%s/master.m3u8m4am3u8_nativehlsF)entry_protocolm3u8_idfatalformatslanguager   r"   r#   r$   r%   r&   )r9   r:   )rematch
_VALID_URLgroupsisdigit_download_json_API_URL_TEMPLATEr   appendupdate_extract_m3u8_formats)selfr   langZm_type
episode_idis_videor	   r!   r+   r*   swhZimg_pathinfor0   Z
audio_pathfr   )r   r    _real_extract'   sV    

zNhkVodIE._real_extractN)__name__
__module____qualname__r=   _TESTSrA   rN   r   r   r   r    r      s&   

r   )
__future__r   r;   commonr   r   r   r   r   r    <module>   s   