
    VGh                     6    d dl mZ ddlmZmZ  G d de      Zy)   )InfoExtractor   )ExtractorErrortry_getc            	       ^    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 Zy)
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           
      6   | j                  |      }d}| j                  ||d      j                  d      }|d|z   z  }| j                  ||d       d| d}t	        |       d	| }| j                  |||d
       | j                  ||d      }|j                  d      sb|j                  d      xs i }t        |r=dj                  | j                  |j                  dd      |j                  dd            ndd|      | j                  ||dd       | j                  ||d      }|j                  d      }	| j                  ||ddd       ||j                  d      | j                  |	|dd      |	j                  d d!      t        |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                     | d   d   S )Nbroadcast_userr&    )xs    b/var/www/it7/html/youtubeDownloader/venv/lib/python3.12/site-packages/yt_dlp/extractor/saitosan.py<lambda>z*SaitosanIE._real_extract.<locals>.<lambda>I   s    !4D2Ef2M     )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_urls
             r-   _real_extractzSaitosanIE._real_extract*   s   ~~c"Y((t:J(KOOPUV#tT0@A7vTB\N!G9-tT>[\--dD?O-P||D!,,w'-2C lo"))$,,8LcggV[]fNgh~. .
 	tT0OVfg++D$=e+f::e$tT<LTYZ ZZ'11(D%d1S!)))W=(MN
 	
r/   N)__name__
__module____qualname___WORKINGr7   
_VALID_URL_TESTSrB   r+   r/   r-   r   r      s    HGRJ?'*`
 T
 +" @ `
 T
 +	!FB!
r/   r   N)commonr   utilsr   r   r   r+   r/   r-   <module>rK      s    ! +F
 F
r/   