o
    il
                     @   s8   d dl mZ ddlmZmZmZmZ G dd deZdS )   )InfoExtractor   )int_or_nonestr_or_nonetraverse_objurl_or_nonec                   @   sZ   e Zd ZdZdZdddddddd	d
ddededddidddddddgZdd ZdS )
GoodGameIEzgoodgame:streamz2https?://goodgame\.ru/(?!channel/)(?P<id>[\w.*-]+)z https://goodgame.ru/TGW#autoplay7998mp4ur   re:шоуматч Happy \(NE\) vs Fortitude \(UD\), потом ладдер и дс \d{4}-\d{2}-\d{2} \d{2}:\d{2}$zhttps://goodgame.ru/TGWz-https://hls.goodgame.ru/previews/7998_240.jpgTGWJosephStalinis_live   2899)idext
channel_idtitlechannel_url	thumbnailuploaderchannellive_status	age_limitchannel_follower_countuploader_idconcurrent_view_countskip_downloadm3u8)url	info_dictparamszhttps://goodgame.ru/Mr.GrayT)r   only_matchingz"https://goodgame.ru/HeDoPa3yMeHue*c                 C   s   |  |}| d| d|}|d }g i }}|dr-| jd| d|ddd	\}}n| jd
d|d |||t|dt|dthfdthfdthfdt	hfddthfddthfdt	h| j
hfdthfdthfdthdd hfd
S )Nz https://goodgame.ru/api/4/users/z/stream	streamkeystatusz!https://hls.goodgame.ru/manifest/z_master.m3u8r
   T)livezUser is offline)expectedvideo_id)r   formats	subtitlesr   r   
channelkeyr   linkstreamerusernamepreviewviewers	followersadultc                 S   s   | rdS d S )Nr    )xr2   r2   M/home/ubuntu/.local/lib/python3.10/site-packages/yt_dlp/extractor/goodgame.py<lambda>C   s    z*GoodGameIE._real_extract.<locals>.<lambda>)
r   r   r   r   r   r   r   r   r   r   )	_match_id_download_jsonget#_extract_m3u8_formats_and_subtitlesraise_no_formatsboolr   strr   r   _proto_relative_urlr   )selfr   channel_nameresponse	player_idr(   r)   r2   r2   r4   _real_extract'   s8   





zGoodGameIE._real_extractN)__name__
__module____qualname__IE_NAME
_VALID_URLint_TESTSrB   r2   r2   r2   r4   r   
   s8    r   N)commonr   utilsr   r   r   r   r   r2   r2   r2   r4   <module>   s    