
    V|h                     :    S SK Jr  SSKJrJrJr   " S S\5      rg)   )InfoExtractor   )ExtractorErrorint_or_noneurljoinc                   (    \ rS rSrSrSSS.rS rSrg)	ShowRoomLiveIE	   zkhttps?://(?:www\.)?showroom-live\.com/(?!onlive|timetable|event|campaign|news|ranking|room)(?P<id>[^/?#&]+)z+https://www.showroom-live.com/48_Nana_OkadaT)urlonly_matchingc                 ~   U R                  U5      nU R                  X5      nU R                  SUS5      nU R                  [	        USU 35      U5      nUR                  S5      nUSLa  [        U S3SS9eUR                  S5      =(       d    UnUR                  S	5      =(       d    UR                  S
5      =(       d    UnU R                  [	        USU 35      U5      S   n	/ n
U	 H  nUR                  S5      nU(       d  M  UR                  S5      nUS:X  aL  U R                  XSSSS9nU H!  n[        UR                  SS5      5      US'   M#     U
R                  U5        M  US:X  d  M  UR                  S5      nU(       d  M  U
R                  UUUSSSSUR                  S5      [        UR                  SS5      5      S.	5        M     [        UR                  S5      =(       d    U5      UUR                  S5      [        UR                  S5      5      UU[        UR                  S5      5      U
SS.	$ )N)zSrGlobal\.roomId\s*=\s*(\d+)z (?:profile|room)\?room_id\=(\d+)room_idz/api/room/profile?room_id=	is_onliveTz is offline)expectedperformer_name	room_name	main_namez /api/live/streaming_url?room_id=streaming_url_listr   typehlsmp4)extm3u8_idlivequalityd   rtmpstream_namez<https://www.showroom-live.com/assets/swf/v3/ShowRoomLive.swfflvlabel)	r   	play_pathpage_url
player_url	rtmp_liver   	format_idformat_noter   live_iddescriptioncurrent_live_started_atview_num)	idtitler(   	timestampuploaderuploader_id
view_countformatsis_live)	_match_id_download_webpage_search_regex_download_jsonr   getr   _extract_m3u8_formatsr   extendappendstr)selfr   broadcaster_idwebpager   roomr2   r.   r,   r   r1   stream
stream_urlstream_typem3u8_formatsfr   s                    W/home/james-whalen/.local/lib/python3.13/site-packages/yt_dlp/extractor/showroomlive.py_real_extractShowRoomLiveIE._real_extract   s>   ,((=$$23:IG ""C5gY?@ ((;'$ N#3;!?$OO88,-?%J+)>J(!00C;G9EF02 (FE*J **V,Ke##99E5  :   &A#.vzz)S/I#JAiL &|,&$jj7"%!, #"`!% !'#)::g#6*6::i+EF
  
! ): dhhy);^<88M2$TXX.G%HI )%dhhz&:;

 
	
     N)__name__
__module____qualname____firstlineno__
_VALID_URL_TESTrF   __static_attributes__rI   rH   rE   r	   r	   	   s    J<E
?
rH   r	   N)commonr   utilsr   r   r   r	   rI   rH   rE   <module>rS      s     ! F
] F
rH   