o
    i                     @   s4   d dl mZ ddlmZmZmZ G dd deZdS )   )InfoExtractor   )parse_durationparse_iso8601traverse_objc                   @   s   e Zd ZdZdddddddd	d
ddddg ddddddddgd
dddddddgdd d dd!dd"gd#
ddd$d%d&d'd(g d)d'd*d+d+d"gd,
d-d.gZd/d0 Zd1d2 Zd3S )4NOSNLArticleIEzGhttps?://nos\.nl/(?P<type>video|(\w+/)?\w+)/?\d+-(?P<display_id>[\w-]+)zhhttps://nos.nl/nieuwsuur/artikel/2440353-verzakking-door-droogte-dreigt-tot-een-miljoen-kwetsbare-huizen2440340mp4z$md5:5f83185d902ac97af3af4bed7ece3db5z%'We hebben een huis vol met scheuren'g     W@z9https://cdn.nos.nl/image/2022/08/12/887149/3840x2160a.jpg)idextdescriptiontitleduration	thumbnail)url	info_dictzehttps://nos.nl/artikel/2440409-vannacht-sliepen-weer-enkele-honderden-asielzoekers-in-ter-apel-buiten2440409zFVannacht sliepen weer enkele honderden asielzoekers in Ter Apel buitenz$md5:72b1e1674d798460e79d78fa37e9f56d)aanmeldcentrumz#Centraal Orgaan opvang asielzoekersCOAasielzoekerszTer Apelib2022081420220813z8https://cdn.nos.nl/image/2022/07/18/880346/1024x576a.jpgibzRegionaal nieuws
Binnenland)
r
   r   r   tagsmodified_timestampmodified_dateupload_dater   	timestamp
categoriesr   )r   r   playlist_countz~https://nos.nl/artikel/2440789-wekdienst-16-8-groningse-acties-tien-jaar-na-zware-aardbeving-femke-bol-in-actie-op-ek-atletiek2440789uf   Wekdienst 16/8: Groningse acties tien jaar na zware aardbeving • Femke Bol in actie op EK atletiek z$md5:0bd277ed7a44fc15cb12a9d27d8f6641	wekdienst20220816i)"bz8https://cdn.nos.nl/image/2022/08/16/888178/1024x576a.jpg
Buitenland)
r
   r   r   r   r   r   r   r   r   r   zZhttps://nos.nl/video/2452718-xi-en-trudeau-botsen-voor-de-camera-op-g20-top-je-hebt-gelekt2452718z@Xi en Trudeau botsen voor de camera op G20-top: 'Je hebt gelekt'20221117z$md5:61907dac576f75c11bf8ffffd4a3cc0f)XiTrudeauG20u
   indonesiéz8https://cdn.nos.nl/image/2022/11/17/916155/1024x576a.jpgi\uc)
r
   r   r   r   r   r   r   r   r   r   r   )r   r   playlist_mincountc                 c   s    |D ]T}| ddkr>| jt|d|dd\}}t|d | d| d||t| d	d
d t|dd D dV  q| ddkrWt|d | dt|dddV  qd S )Ntypevideo)sourcer   r	   )r   r
   r   r   r   c                 S   s.   g | ]}t |d dd|d|ddqS ))r   .F)get_allwidthheight)r   r.   r/   )r   get).0image r3   J/home/ubuntu/.local/lib/python3.10/site-packages/yt_dlp/extractor/nosnl.py
<listcomp>R   s    
z+NOSNLArticleIE._entries.<locals>.<listcomp>)imagesByRatio.    )r
   r   r   formats	subtitlesr   
thumbnailsaudio)mediasrcmp3)r
   r   r   r   )r0   #_extract_m3u8_formats_and_subtitlesr   strr   )selfnextjs_json
display_iditemr8   subtitler3   r3   r4   _entriesF   s0   



zNOSNLArticleIE._entriesc                 C   s   |  |dd\}}| ||}| ||d d d }d| |dkr)|d gn|d |t|d	 |d
p?| g d||dpK| g d||dt|d|dpa| ddg|t|dt	|dd
S )Nr*   rC   props	pagePropsdataplaylistr+   itemsr
   r   )r   zog:titleztwitter:titler   )r   ztwitter:descriptionzog:descriptionkeywords
modifiedAtshareImageSrczog:imageztwitter:imagepublishedAt)r   .label)
_typeentriesr
   r   r   r   r   r   r   r   )
_match_valid_urlgroup_download_webpage_search_nextjs_datarF   r@   r0   _html_search_metar   r   )rA   r   	site_typerC   webpagerB   r3   r3   r4   _real_extracta   s"   

zNOSNLArticleIE._real_extractN)__name__
__module____qualname__
_VALID_URL_TESTSrF   rZ   r3   r3   r3   r4   r      sp    ?r   N)commonr   utilsr   r   r   r   r3   r3   r3   r4   <module>   s    