U
    g                     @   s4   d dl mZ ddlmZmZmZ G dd deZdS )   )InfoExtractor   )int_or_nonetry_geturlencode_postdatac                   @   sL   e Zd ZdZdddddddddd	d
ddeddddidgZdd ZdS )BongaCamsIEzIhttps?://(?P<host>(?:[^/]+\.)?bongacams\d*\.(?:com|net))/(?P<id>[^/?&#]+)z https://de.bongacams.com/azumi-8T)urlZonly_matchingz https://cn.bongacams.com/azumi-8z%https://de.bongacams.net/claireashtonZclaireashtonmp4z-re:ClaireAshton \d{4}-\d{2}-\d{2} \d{2}:\d{2}   ZClaireAshton)idexttitle	age_limituploader_iduploader
like_countis_liveZskip_download)r   Z	info_dictparamsc              	   C   s   |  |}|d}|d}| jd| d|tdd|fdfdd	id
}|d d }t|dd tph|}t|dd t}tt|dd }	| j| d| d|dddd}
||p||||	dd|
dS )Nhostr   zhttps://z/tools/amf.php)methodZgetRoomDataargs[])r   falsezX-Requested-WithZXMLHttpRequest)dataheadersZ	localDataZvideoServerUrlc                 S   s   | d d S )NperformerDatausername xr   r   >/tmp/pip-unpacked-wheel-q5ljy6pj/yt_dlp/extractor/bongacams.py<lambda>2       z+BongaCamsIE._real_extract.<locals>.<lambda>c                 S   s   | d d S )Nr   ZdisplayNamer   r   r   r   r   r    4   r!   c                 S   s   | d d S )Nr   ZloversCountr   r   r   r   r   r    6   r!   z/hls/stream_z/playlist.m3u8r	   ZhlsT)Zm3u8_idZliver
   )r   r   r   r   r   r   r   formats)Z_match_valid_urlgroupZ_download_jsonr   r   strr   Z_extract_m3u8_formats)selfr   Zmobjr   Z
channel_idZamfZ
server_urlr   r   r   r"   r   r   r   _real_extract"   s\    



         zBongaCamsIE._real_extractN)__name__
__module____qualname__Z
_VALID_URLintZ_TESTSr&   r   r   r   r   r   	   s.    r   N)commonr   utilsr   r   r   r   r   r   r   r   <module>   s   