a
    h                     @   s,   d dl mZ ddlmZ G dd deZdS )   )InfoExtractor   )traverse_objc                   @   sH   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d ZdS )
RoyaLiveIEz2https?://(?:en\.)?roya\.tv/live-stream/(?P<id>\d+)z https://en.roya.tv/live-stream/11z(re:Roya TV \d{4}-\d{2}-\d{2} \d{2}:\d{2}mp4is_live)idtitleextZlive_status)urlZ	info_dictzhttps://roya.tv/live-stream/21Z21z*re:Roya News \d{4}-\d{2}-\d{2} \d{2}:\d{2}z!https://roya.tv/live-stream/10000T)r   Zonly_matchingc              	      sp   |  | | d   d d }t| jd ddddd fd	d
dthtf} | j| dddd|ddS )Nz.https://ticket.roya-tv.com/api/v5/fastchannel/dataZsecured_urlz<https://backend.roya.tv/api/v01/channels/schedule-paginationF)fatal    Zchannelc                    s   t |d  kS )Nr	   )str)_vZmedia_id J/mnt/pikpak/tmp/myenv/lib/python3.9/site-packages/yt_dlp/extractor/roya.py<lambda>$       z*RoyaLiveIE._real_extract.<locals>.<lambda>r
   r   ZhlsT)Zm3u8_idZlive)r	   formatsr
   r   )Z	_match_idZ_download_jsonr   r   anyZ_extract_m3u8_formats)selfr   Z
stream_urlr
   r   r   r   _real_extract   s"    

zRoyaLiveIE._real_extractN)__name__
__module____qualname__Z
_VALID_URLZ_TESTSr   r   r   r   r   r      s(   		r   N)commonr   Zutils.traversalr   r   r   r   r   r   <module>   s   