U
    g                     @   s8   d dl Z ddlmZ ddlmZmZ G dd deZdS )    N   )InfoExtractor   )ExtractorErrortraverse_objc                   @   s4   e Zd ZdZddddedddd	d
gZdd ZdS )	CamsodaIEz)https?://www\.camsoda\.com/(?P<id>[\w-]+)z https://www.camsoda.com/lizzhopfZlizzhopfmp4zBlizzhopf (lizzhopf) Nude on Cam. Free Live Sex Chat Room - CamSodaT   )idexttitledescriptionis_live	age_limitzRoom is offline)urlZ	info_dictskipc           	   	   C   s  |  |}| j|||  d}| jd| |ddtdd i|  d}|sZtdn.|d	rrtd
ddn|dstdddt|dt	d}t|dt	d}g }t|dD ]4}| j
d| d| d| |ddddd}|r qq|s| jddd || || jd|d dd|ddS )N)headersz(https://camsoda.com/api/v1/video/vtoken/usernameZguest_i'  i )queryr   z(Unable to find configuration for stream.Zprivate_serverszModel is in private show.T)expectedstream_namezModel is offline.)Zexpected_typetoken)Zedge_servers.zhttps:///z_v1/index.m3u8?token=r   ZhlsF)r   Zm3u8_idfatalZlivezNo active streams foundr   )defaultr	   )r
   r   r   r   formatsr   )Z	_match_idZ_download_webpageZgeo_verification_headersZ_download_jsonrandom	randranger   getr   strZ_extract_m3u8_formatsZraise_no_formatsZ_html_extract_titleZ_html_search_meta)	selfr   Zvideo_idZwebpagedatar   r   r   server r#   </tmp/pip-unpacked-wheel-q5ljy6pj/yt_dlp/extractor/camsoda.py_real_extract   sJ    
 


    zCamsodaIE._real_extractN)__name__
__module____qualname__Z
_VALID_URLr   Z_TESTSr%   r#   r#   r#   r$   r      s   r   )r   commonr   utilsr   r   r   r#   r#   r#   r$   <module>   s   