
    V|h                     6    S SK Jr  SSKJrJr   " S S\5      rg)   )InfoExtractor   )ExtractorErrortry_getc            	       f    \ rS rSrSrSrSrSSSSSS	S
S.SS
0SS.SSSSSSS
S.SS
0SS./rS rSr	g)
SaitosanIE   F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           
         U R                  U5      nSnU R                  X2SS9R                  S5      nUSU-   -  nU R                  X2SS9  SU S3n[	        U5       S	U 3nU R                  X2US
S9  U R                  X2SS9nUR                  S5      (       di  UR                  S5      =(       d    0 n[        U(       a=  SR                  U R                  UR                  SS5      UR                  SS5      5      OSSUS9eU R                  X2SSS9  U R                  X2SS9nUR                  S5      n	U R                  X2SSSS9  UUR                  S5      U R                  XSSS9U	R                  S S!5      [        US" 5      S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                     U S   S   $ )Nbroadcast_userr'    )xs    S/home/james-whalen/.local/lib/python3.13/site-packages/yt_dlp/extractor/saitosan.py<lambda>*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_extractSaitosanIE._real_extract*   s   ~~c"Y((:J(KOOPUV#t0@A7vTB\N!G9-t>[\--d?O-P||D!!,,w'-2C lo"))$,,8LcggV[]fNgh~. .
 	t0OVfg++D=e+f::e$t<LTYZ ZZ'11(%d1S!)))W=(MN
 	
r1   r,   N)
__name__
__module____qualname____firstlineno___WORKINGr9   
_VALID_URL_TESTSrD   __static_attributes__r,   r1   r.   r   r      s    HGRJ?'*`
 T
 +" @ `
 T
 +	!FB!
r1   r   N)commonr   utilsr   r   r   r,   r1   r.   <module>rP      s    ! +F
 F
r1   