o
    i'                     @   sD   d dl Z d dlZddlmZ ddlmZmZmZ G dd deZ	dS )    N   )InfoExtractor   )determine_extint_or_none
js_to_jsonc                   @   sz   e Zd ZdZdZde Zde dgZdddd	d
dddddddddgZdddddddgddidgZdd Z	dS )
UDNEmbedIEu   聯合影音z1//video\.udn\.com/(?:embed|play)/news/(?P<id>\d+)zhttps?:z%<iframe[^>]+src="(?:https?:)?(?P<url>z)"z&http://video.udn.com/embed/news/300040300040mp4u*   生物老師男變女 全校挺"做自己"zre:^https?://.*\.jpg$)idexttitle	thumbnailzInvalid URL)url	info_dictskipz'https://video.udn.com/embed/news/300040T)r   only_matchingz&https://video.udn.com/play/news/303776z"https://video.udn.com/news/13085611308561u;   影／丹娜絲颱風暴風圈擴大 上午8:30發布海警z%re:https?://cdn\.udn\.com/img/.+\.jpgzFailed to parse JSONskip_downloadm3u8)r   r   expected_warningsparamsc              	   C   s  |  |}| ||}| d|d}t|}| j|dddpi }|r0|d }|d }|d}	n| | d|d	d	}| d
|d}| jd|dd d}	|drY| |ddS g }
| D ]c\}}|sfq_| jtj	
|||d| dd}t|}|dkr|
| j||ddd q_|dkr|
| j||dd q_td|}|d| d}|r|t|dt|dd |
| q_||
||	dS ) Nzvar\s+options\s*=\s*([^;]+);optionsF)fatalvideor   posterz"video"\s*:\s*({.+?})\s*,z
video urlsztitle\s*:\s*'(.+?)'\s*,zposter\s*:\s*'(.+?)'\s*,)defaultyoutubeYoutubezretrieve url for z video)noter   r
   hls)r   m3u8_idf4mhds)f4m_idz#_(?P<height>\d+)p_(?P<tbr>\d+)\.mp4zhttp-)r   	format_idheighttbr)r&   r'   )r   formatsr   r   )	_match_id_download_webpage_html_search_regexr   _parse_jsonget
url_resultitemsurllibparseurljoinr   extend_extract_m3u8_formats_extract_f4m_formatsresearchupdater   groupappend)selfr   video_idpageoptions_strtrans_options_strr   
video_urlsr   r   r(   
video_typeapi_url	video_urlr   mobja_format rF   H/home/ubuntu/.local/lib/python3.10/site-packages/yt_dlp/extractor/udn.py_real_extract/   sp   




zUDNEmbedIE._real_extractN)
__name__
__module____qualname__IE_DESC_PROTOCOL_RELATIVE_VALID_URL
_VALID_URL_EMBED_REGEX_TESTS_WEBPAGE_TESTSrH   rF   rF   rF   rG   r      s<    
r   )
r6   urllib.parser0   commonr   utilsr   r   r   r   rF   rF   rF   rG   <module>   s
    