U
    g                     @   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/VID00359ZVID00359Zmp4z.GRG Jacinda Ardern safe drug testing 1920x1080z$md5:d4d7dc366742e86d8130b257dcb520bagQa@i@2_Z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/VID02627ZVID02627mp3z7Tova O'Brien meets Ukraine President Volodymyr ZelenskyzToday FMzBWatch in full the much anticipated interview of Volodymyr ZelenskygQ@Z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.htmlZVID02494zThe Trolley ProblemgQ7@ZOtheri	bz+Socrates Walks Into A Bar Podcast Episode 1Z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   ZwebpageZmobj r   A/tmp/pip-unpacked-wheel-q5ljy6pj/yt_dlp/extractor/mediaworksnz.py_extract_embed_urls=   s    z%MediaWorksNZVODIE._extract_embed_urlsc           
   
   C   s  |  |}| ||d }|ddkr2| | |d}|r`|dkr`| d| t  | | |d |\}}t|dd	td
}|r| j	||ddd}|D ]&}	|	
dd |	
dd ||	 q||d|dt|dt|d|ddd |dpg D ||d	S )NassetZdrm)ZNonDRMNtypevideozUnknown content type: ZstreamingUrlZpalyoutPathAudioZplayoutpathaudio)Zexpected_typeFr   )fatalr   ZvcodecnoneZacodecZaacr   r   r   Z	dateaddedZbrandc                 S   s   g | ]}d |iqS )r   r   ).0Zthumbnail_urlr   r   r   
<listcomp>d   s     z3MediaWorksNZVODIE._real_extract.<locals>.<listcomp>
thumbnails)	r
   r   r   r   r   r   r(   formats	subtitles)Z	_match_idZ_download_jsongetZ
report_drmZreport_warningr   Z#_extract_m3u8_formats_and_subtitlesr   strZ_extract_m3u8_formats
setdefaultappendr   r   )
selfr   Zvideo_idr!   content_typer)   r*   Zaudio_streaming_urlZaudio_formatsZaudio_formatr   r   r   _real_extractF   s<    


   zMediaWorksNZVODIE._real_extractN)__name__
__module____qualname__r   r   Z
_VALID_URLZ_TESTSZ_WEBPAGE_TESTSclassmethodr    r1   r   r   r   r   r	      sX   
r	   )	r   commonr   utilsr   r   r   r   r	   r   r   r   r   <module>   s   