U
    g;                     @   s<   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   )determine_extint_or_noneparse_iso8601traverse_objurljoinc                   @   sL   e Zd ZdZdddddddd	d
ddeeeddgdddidgZdd ZdS )CaffeineTVIEz?https?://(?:www\.)?caffeine\.tv/[^/?#]+/video/(?P<id>[\da-f-]+)zJhttps://www.caffeine.tv/TsuSurf/video/cffc0a00-e73f-11ec-8080-80017d29f26ez$cffc0a00-e73f-11ec-8080-80017d29f26emp4zGOOOOD MORNINNNNN #highlightsidbZ20220608zRahJON WiccZTsuSurfiI     zXhttps://www.caffeine.tv/broadcasts/776b6f84-9cd5-42e3-af1d-4a776eeed697/replay/lobby.jpgZ
highlightsZ	battlerap)idexttitle	timestampZupload_dateuploaderuploader_idduration	age_limit	thumbnailcomment_count
view_count
like_counttagsZskip_downloadm3u8)urlZ	info_dictparamsc                    s  |   }| d| |}t|dthfp.i }|d }t|}|dkrX| ||d}n
d|ig}||dt|dthfd	thfd
thfddthdd hfddthfdthtfdt	hfdt|dthfdthfdt
hfd fddhfddddddd|d diS )!Nz/https://api.caffeine.tv/social/public/activity/broadcast_info	video_urlr   r
   r   )r   formatsr   r   r   r   .c                 S   s   | pd S N xr    r    ?/tmp/pip-unpacked-wheel-q5ljy6pj/yt_dlp/extractor/caffeinetv.py<lambda>8       z,CaffeineTVIE._real_extract.<locals>.<lambda>username))Nr&   usernameis_live)r   r   r   r   r   r   r)   Zbroadcast_titleZcontent_durationZbroadcast_start_timeZpreview_image_pathc                    s
   t  | S r   )r   r!   r   r    r#   r$   A   r%   )r   r   r   r   r       	      r   )Z	FOUR_PLUSZ	NINE_PLUSZTWELVE_PLUSZSEVENTEEN_PLUSZcontent_rating)Z	_match_idZ_download_jsonr   dictr   Z_extract_m3u8_formatsr   stranyboolr   get)selfr   Zvideo_idZ	json_datar   r   r   r   r    r*   r#   _real_extract$   sN    
 


	 zCaffeineTVIE._real_extractN)__name__
__module____qualname__Z
_VALID_URLintZ_TESTSr4   r    r    r    r#   r	      s,    r	   N)	commonr   utilsr   r   r   r   r   r	   r    r    r    r#   <module>   s   	