U
    gs                     @   s@   d dl mZ ddlmZmZmZmZmZmZ G dd deZ	dS )   )InfoExtractor   )float_or_noneint_or_none
remove_endstrip_or_nonetraverse_objurl_or_nonec                   @   s   e Zd ZdZddddddddd	d
d	ddidddddddddd	dd	ddiddddddddddd	d	ddidgZdd Zdd  Zd!S )"NZOnScreenIEz3https?://www\.nzonscreen\.com/title/(?P<id>[^/?#]+)zQhttps://www.nzonscreen.com/title/shoop-shoop-diddy-wop-cumma-cumma-wang-dang-1982Z726ed6585c6bfb30mp4hiz0shoop-shoop-diddy-wop-cumma-cumma-wang-dang-1982z&Monte Video - "Shoop Shoop, Diddy Wop"z9Shoop Shoop Diddy Wop Cumma Cumma Wang Dang | Music Videoz6re:https://www\.nzonscreen\.com/content/images/.+\.jpg   )	idext	format_id
display_idtitledescription	alt_title	thumbnaildurationZskip_downloadZm3u8)urlZ	info_dictparamszKhttps://www.nzonscreen.com/title/shes-a-mod-1964?collection=best-of-the-60sZ3dbe709ff03c36f1zshes-a-mod-1964zRay Columbus - 'She's A Mod'zShe's a Mod | Music Video   z>https://www.nzonscreen.com/title/puha-and-pakeha-1968/overviewZf86342544385ad8azpuha-and-pakeha-1968z(Looking At New Zealand - Puha and Pakehau;   Looking at New Zealand - 'Pūhā and Pākehā' | Televisionz*An excerpt from this television programme.   )	r   r   r   r   r   r   r   r   r   c                 c   s   t t|ddddftd D ]f\}\}}||d||dkrJt|dnd |dkrbt|d	nd tt|d| d
fdddV  q d S )NZh264Zlo_resZhi_res)lor   )Zexpected_typer   r   heightwidthZ_res_mbi   )Zinvscale)r   r   r   qualityr   r   Zfilesize_approx)	enumerater   r	   itemsr   getr   )selfplaylistr   Zid_r    r$   ?/tmp/pip-unpacked-wheel-q5ljy6pj/yt_dlp/extractor/nzonscreen.py_extract_formats:   s      zNZOnScreenIE._extract_formatsc                 C   s   |  |}| ||}| | d|d|}|d |t|dt|dtt| j|d dpf| |dt	|dt
|d	t| |d
d
dd	S )Nzdata-video-config=\'([^\']+)\'z
media datauuidlabelr   )defaultz | NZ On Screen)r   pathr   zhttps://www.nzonscreen.com/)ZRefererZOrigin)	r   r   r   r   r   r   r   formatsZhttp_headers)Z	_match_idZ_download_webpageZ_parse_jsonZ_html_search_regexr   r!   r   Z_html_extract_titleZ_og_search_titler   r   listr&   )r"   r   Zvideo_idZwebpager#   r$   r$   r%   _real_extractG   s0    
  zNZOnScreenIE._real_extractN)__name__
__module____qualname__Z
_VALID_URLZ_TESTSr&   r-   r$   r$   r$   r%   r
      sV   ,r
   N)
commonr   utilsr   r   r   r   r   r	   r
   r$   r$   r$   r%   <module>   s    
