o
    i                     @   sH   d dl mZ d dlmZ ddlmZmZmZmZm	Z	 G dd deZ
dS )   )InfoExtractor)	YoutubeIE   )determine_extint_or_nonemimetype2extparse_iso8601traverse_objc                   @   s   e Zd ZdZddddddddd	ed
ddddi dddddedddededdddddddddd d!d"d#d$d%d&d'd(d)d*ed+gd,d-dd.d/d0dgZd1d2 Zd3d4 Zd5S )6AirTVIEz*https?://www\.air\.tv/watch\?v=(?P<id>\w+)z1https://www.air.tv/watch?v=W87jcWleSn2hXZN47zJZsQW87jcWleSn2hXZN47zJZsQmp420221003i:cvgfManQlRQKgoFQ8i8peFQz$md5:c12d49ed367c3dadaa67659aff43494c   zlhttps://cdn-sp-gcs.air.tv/videos/W/8/W87jcWleSn2hXZN47zJZsQ/b13fc56464f47d9d62a36d110b9b5a72-4096x2160_9.jpg)idextrelease_daterelease_timestamp
channel_idtitleupload_dateduration
view_count	thumbnail	timestamp)url	info_dictz1https://www.air.tv/watch?v=sv57EC8tRXG6h8dNXFUU1Qr   z2ZTqmpee-bQr   comment_counttagszcount:11channel_follower_count
like_countuploader	Newsflarer   z:https://i.ytimg.com/vi_webp/2ZTqmpee-bQ/maxresdefault.webpavailabilitypublicr   z(Geese Chase Alligator Across Golf Courseuploader_idNewsflareBreakingchannel_urlz8https://www.youtube.com/channel/UCzSSoloGEz10HALUAbYhngQdescriptionz$md5:99b21d9cea59330149efbd9706e208f5	age_limit    r   UCzSSoloGEz10HALUAbYhngQuploader_urlz-http://www.youtube.com/user/NewsflareBreakingr   zNews & Politicsnot_liveT%   20180511)
categorieslive_statusplayable_in_embedchannelr   r   c           	      C   s   g i }}t |dddD ]6}t|dt|d}|dkr7| |d|\}}|| | j||d q||d|d q||fS )	Nsourcessources_desktop.srctypem3u8)target)r   r   )r	   r   getr   #_extract_m3u8_formats_and_subtitlesextend_merge_subtitlesappend)	self	json_datavideo_idformats	subtitlessourcer   fmtssubs rG   J/home/ubuntu/.local/lib/python3.10/site-packages/yt_dlp/extractor/airtv.py_get_formats_and_subtitle<   s   

z!AirTVIE._get_formats_and_subtitlec                 C   s   |  |}| ||}| ||d d d d | }|dr,| d|d tS | ||\}}||dp?| d||||d	pGd t|d
dd t	|dD t	|ddt
|dt
|dt|ddS )Nprops	pagePropsinitialStatevideos
youtube_idz https://www.youtube.com/watch?v=r   zog:titler(   r   c                 S   s   g | ]}d |iqS )r   rG   ).0r   rG   rG   rH   
<listcomp>Y   s    z)AirTVIE._real_extract.<locals>.<listcomp>)default_thumbnails.r3   channel_slugcreated	publishedviews)r   r   rB   rC   r(   r   
thumbnailsr   r   r   r   )	_match_id_download_webpage_search_nextjs_datar:   
url_resultr   rI   _html_search_metar   r	   r   )r?   r   
display_idwebpagenextjs_jsonrB   rC   rG   rG   rH   _real_extractH   s,   
 

zAirTVIE._real_extractN)__name__
__module____qualname__
_VALID_URLint_TESTSrI   r_   rG   rG   rG   rH   r
      s~    	
.r
   N)commonr   youtuber   utilsr   r   r   r   r	   r
   rG   rG   rG   rH   <module>   s    	