o
    i                     @   s@   d dl Z ddlmZ ddlmZmZmZmZ G dd deZdS )    N   )InfoExtractor   )bug_reports_messagefloat_or_nonetraverse_objunified_timestampc                   @   s   e Zd ZdZdZe e Zddddddd	d
ddd	dddddddddddd	ddidgZdddddd d!dd"d#d$	dgZed%d& Z	d'd( Z
d)S )*MediaWorksNZVODIEz?https?://vodupload-api\.mediaworks\.nz/library/asset/published/z(?P<id>[A-Za-z0-9-]+)zDhttps://vodupload-api.mediaworks.nz/library/asset/published/VID00359VID00359mp4z.GRG Jacinda Ardern safe drug testing 1920x1080z$md5:d4d7dc366742e86d8130b257dcb520bagQa@i@2_20201101zre:^https?://.*\.jpg$z	George FM)	idexttitledescriptionduration	timestampupload_date	thumbnailchannel)url	info_dictzDhttps://vodupload-api.mediaworks.nz/library/asset/published/VID02627VID02627mp3z7Tova O'Brien meets Ukraine President Volodymyr ZelenskyzToday FMzBWatch in full the much anticipated interview of Volodymyr ZelenskygQ@20220822i!,c)	r   r   r   r   r   r   r   r   r   formatzba[ext=mp3])r   r   paramsz`https://www.rova.nz/home/podcasts/socrates-walks-into-a-bar/the-trolley-problem---episode-1.htmlVID02494zThe Trolley ProblemgQ7@Otheri	bz+Socrates Walks Into A Bar Podcast Episode 120220720)	r   r   r   r   r   r   r   r   r   c                 c   s<    t d| j d| j d|D ]}d|d V  qd S )NzS(?x)<div\s+\bid=["']Player-Attributes-JWID[^>]+\b
            data-request-url=["']z*["'][^>]+\b
            data-asset-id=["']z["']z<https://vodupload-api.mediaworks.nz/library/asset/published/r   )refinditer_VALID_URL_BASE_RE_VALID_URL_ID_REgroup)clsr   webpagemobj r(   Q/home/ubuntu/.local/lib/python3.10/site-packages/yt_dlp/extractor/mediaworksnz.py_extract_embed_urls=   s   z%MediaWorksNZVODIE._extract_embed_urlsc           
   
   C   s  |  |}| ||d }|ddvr| | |d}|r0|dkr0| d| t  | | |d |\}}t|dd	td
}|rc| j	||ddd}|D ]}	|	
dd |	
dd ||	 qO||d|dt|dt|d|ddd |dpg D ||d	S )Nassetdrm)NonDRMNtypevideozUnknown content type: streamingUrlpalyoutPathAudioplayoutpathaudio)expected_typeFr   )fatalr   vcodecnoneacodecaacr   r   r   	dateaddedbrandc                 S   s   g | ]}d |iqS )r   r(   ).0thumbnail_urlr(   r(   r)   
<listcomp>d   s    z3MediaWorksNZVODIE._real_extract.<locals>.<listcomp>
thumbnails)	r   r   r   r   r   r   r>   formats	subtitles)	_match_id_download_jsonget
report_drmreport_warningr   #_extract_m3u8_formats_and_subtitlesr   str_extract_m3u8_formats
setdefaultappendr   r   )
selfr   video_idr+   content_typer?   r@   audio_streaming_urlaudio_formatsaudio_formatr(   r(   r)   _real_extractF   s6   


zMediaWorksNZVODIE._real_extractN)__name__
__module____qualname__r"   r#   
_VALID_URL_TESTS_WEBPAGE_TESTSclassmethodr*   rQ   r(   r(   r(   r)   r	      sZ    
r	   )	r    commonr   utilsr   r   r   r   r	   r(   r(   r(   r)   <module>   s    