
    VGh                     2    d dl mZ ddlmZ  G d de      Zy)   )InfoExtractor   )traverse_objc                   F    e Zd ZdZdddddddd	d
ddddddddgZd Zy)
RoyaLiveIEz)https?://roya\.tv/live-stream/(?P<id>\d+)zhttps://roya.tv/live-stream/11z(re:Roya TV \d{4}-\d{2}-\d{2} \d{2}:\d{2}mp4is_live)idtitleextlive_status)url	info_dictzhttps://roya.tv/live-stream/2121z*re:Roya News \d{4}-\d{2}-\d{2} \d{2}:\d{2}z!https://roya.tv/live-stream/10000T)r   only_matchingc           
          | j                  |      | j                  d       d   d   }t        | j                  dd      dddfd	d
t        ht        f      }| j                  |ddd      |ddS )Nz.https://ticket.roya-tv.com/api/v5/fastchannel/datasecured_urlz<https://backend.roya.tv/api/v01/channels/schedule-paginationF)fatal    channelc                 &    t        |d         k(  S )Nr   )str)_vmedia_ids     ^/var/www/it7/html/youtubeDownloader/venv/lib/python3.12/site-packages/yt_dlp/extractor/roya.py<lambda>z*RoyaLiveIE._real_extract.<locals>.<lambda>$   s    AdG0H     r   r	   hlsT)m3u8_idlive)r   formatsr   r
   )	_match_id_download_jsonr   r   any_extract_m3u8_formats)selfr   
stream_urlr   r   s       @r   _real_extractzRoyaLiveIE._real_extract   s    >>#&((<XJGSSY[[hj
  ^`hpuvQ	#H'TWSXZ]^`
 11*hW\cg1h	
 	
r    N)__name__
__module____qualname__
_VALID_URL_TESTSr+    r    r   r   r      sT    =J.@$	
 0B$	
 3!F*
r    r   N)commonr   utils.traversalr   r   r1   r    r   <module>r4      s    ! *&
 &
r    