o
    i                     @   s0   d dl mZ ddlmZmZ G dd deZdS )   )InfoExtractor   )ExtractorErrortry_getc                	   @   s`   e Zd ZdZdZdZddddddd	d
dd	iddddddddd	d
dd	iddgZdd ZdS )
SaitosanIEFSaitosanz>https?://(?:www\.)?saitosan\.net/bview.html\?id=(?P<id>[0-9]+)z.http://www.saitosan.net/bview.html?id=1003184610031846mp4u   井下原 和弥zEhttp://111.171.196.85:8088/921f916f-7f55-4c97-b92e-5d9d0fef8f5f/thumbT)idexttitleuploader	thumbnailis_liveskip_downloadzBroadcasts are ephemeral)url	info_dictparamsskipz.http://www.saitosan.net/bview.html?id=1003179510031795u   橋本zEhttp://111.171.196.85:8088/1a3933e1-a01a-483b-8931-af15f37f8082/thumbc           
   	   C   sB  |  |}d}| j||ddd}|d| 7 }| j||dd d| d}t| d	| }| j|||d
d | j||dd}|dse|dpKi }t|r_d| j|dd|ddndd|d| j||ddd | j||dd}|d}	| j||dddd ||d| j|	|ddd|		d d!t
|d"d# dd$S )%NzHhttp://hankachi.saitosan-api.net:8002/socket.io/?transport=polling&EIO=3zOpening socket)notesidz&sid=zPolling socketz"420["room_start_join",{"room_id":"z"}]:zPolling socket with payload)datar   okerrorz{} said: {} - {}code?msgUnknownzfThe socket reported that the broadcast could not be joined. Maybe it's offline or the URL is incorrectT)expectedvideo_idz26:421["room_finish_join",{}]z&Getting broadcast metadata from socketr   z1:1zClosing socketF)r   r   fatalnamer	   )livezav.m3u8thumbc                 S   s   | d d S )Nbroadcast_userr#    )xr'   r'   M/home/ubuntu/.local/lib/python3.10/site-packages/yt_dlp/extractor/saitosan.py<lambda>I   s    z*SaitosanIE._real_extract.<locals>.<lambda>)r
   r   formatsr   r   r   )	_match_id_download_socket_jsonget_download_webpagelenr   formatIE_NAME_extract_m3u8_formatsreplacer   )
selfr   b_idbaser   payloadresponseerrb_datam3u8_urlr'   r'   r)   _real_extract*   s6   

$

zSaitosanIE._real_extractN)__name__
__module____qualname___WORKINGr2   
_VALID_URL_TESTSr=   r'   r'   r'   r)   r      s<    

!r   N)commonr   utilsr   r   r   r'   r'   r'   r)   <module>   s    