o
    i                     @   sx   d dl mZmZ d dlmZ ddlmZ ddlmZ G dd deZ	G dd	 d	e	Z
G d
d de	ZG dd de	ZdS )   )BrightcoveLegacyIEBrightcoveNewIE)InfoExtractor   )Request)ExtractorErrorc                   @   s   e Zd Zdd Zdd ZdS )NownessBaseIEc                 C   s   |d dkrr|d D ]i}|d dkrq|d }|d }|dkrQ| j d| |dd	d
}t|}|r;| |t   S t| |}|rM| |t   S td|dkr`| d| d  S |dkrl| |d  S |dkrq	 q
d S d S )Ntypevideomediacontentsource
brightcovez!http://www.nowness.com/iframe?id=zDownloading player JavaScriptz$Unable to download player JavaScript)noteerrnotez Could not find player definitionvimeozhttp://vimeo.com/VimeoyoutubeYoutubecinematique)_download_webpager   _extract_brightcove_url
url_resultie_keyr   _extract_urlr   )selfpostr   video_idr   player_codebc_url r    L/home/ubuntu/.local/lib/python3.10/site-packages/yt_dlp/extractor/nowness.py_extract_url_result   s6   

z!NownessBaseIE._extract_url_resultc                 C   s>   |  |}td||  dd|v rdndid}|| ||fS )Nzhttp://api.nowness.com/api/zX-Nowness-Languagezcn.nowness.comzzh-cnzen-us)headers)	_match_idr   _download_json)r   urlrequest_path
display_idrequestr    r    r!   _api_request&   s   

zNownessBaseIE._api_requestN)__name__
__module____qualname__r"   r*   r    r    r    r!   r   
   s    r   c                   @   s   e Zd ZdZdZdddddddd	d
dddgdddddddddddddgdddddddddddddgdgZdd  Zd!S )"	NownessIEnownesszchttps?://(?:(?:www|cn)\.)?nowness\.com/(?:story|(?:series|category)/[^/]+)/(?P<id>[^/]+?)(?:$|[?#])z=https://www.nowness.com/story/candor-the-art-of-gesticulation 068bc0202558c2e391924cb8cc4706762520295746001mp4z Candor: The Art of Gesticulationzre:^https?://.*\.jpgiL;V201511052385340575001)idexttitledescription	thumbnail	timestampupload_dateuploader_idBrightcoveNew)r&   md5	info_dictadd_iezDhttps://cn.nowness.com/story/kasper-bjorke-ft-jaakko-eino-kalevi-tnr e79cf125e387216f86b2e0a5b5c63aa33716354522001u*   Kasper Bjørke ft. Jaakko Eino Kalevi: TNRiS20140806zEhttps://www.nowness.com/series/nowness-picks/jean-luc-godard-supercut 9a5a6a8edf806407e411296ab6bc2a49	130020913z&Bleu, Blanc, Rouge - A Godard Supercutz$md5:f0ea5f1857dffca02dbd37875d742cec20150607zCinema Sem Leicinemasemlei)r5   r6   r7   r8   r9   r;   uploaderr<   r   c                 C   s   |  |d\}}| |S )Nzpost/getBySlug/%s)r*   r"   )r   r&   _r   r    r    r!   _real_extract`   s   
zNownessIE._real_extractN)r+   r,   r-   IE_NAME
_VALID_URL_TESTSrJ   r    r    r    r!   r.   0   sX    


-r.   c                   @   s,   e Zd ZdZdZdddiddZdd	 Zd
S )NownessPlaylistIEznowness:playlistz;https?://(?:(?:www|cn)\.)?nowness\.com/playlist/(?P<id>\d+)zNhttps://www.nowness.com/playlist/3286/i-guess-thats-why-they-call-it-the-bluesr5   3286   r&   r?   playlist_mincountc                    s2     |d\}} fdd|d D } ||S )Nzpost?PlaylistId=%sc                       g | ]}  |qS r    r"   ).0itemr   r    r!   
<listcomp>r       z3NownessPlaylistIE._real_extract.<locals>.<listcomp>items)r*   playlist_result)r   r&   playlist_idplaylistentriesr    rW   r!   rJ   p   s   zNownessPlaylistIE._real_extractNr+   r,   r-   rK   rL   _TESTrJ   r    r    r    r!   rN   e   s    rN   c                   @   s0   e Zd ZdZdZddddddd	Zd
d ZdS )NownessSeriesIEznowness:serieszFhttps?://(?:(?:www|cn)\.)?nowness\.com/series/(?P<id>[^/]+?)(?:$|[?#])z)https://www.nowness.com/series/60-seconds60z
60 Secondsz)One-minute wisdom in a new NOWNESS series)r5   r7   r8      rQ   c                    s~     |d\}} fdd|d D }d }d }|dg }|r3|d dp+|d d }|d d	} |t|d
 ||S )Nzseries/getBySlug/%sc                    rS   r    rT   )rU   r   rW   r    r!   rX      rY   z1NownessSeriesIE._real_extract.<locals>.<listcomp>poststranslations    r7   seoTitleseoDescriptionr5   )r*   getr[   str)r   r&   rI   seriesr^   series_titleseries_descriptionre   r    rW   r!   rJ      s   zNownessSeriesIE._real_extractNr_   r    r    r    r!   ra   v   s    
ra   N)r   r   r   commonr   
networkingr   utilsr   r   r.   rN   ra   r    r    r    r!   <module>   s    &5