
    V|h'                     J    S SK r S SKrSSKJr  SSKJrJrJr   " S S\5      r	g)    N   )InfoExtractor   )determine_extint_or_none
js_to_jsonc                       \ rS rSrSrSrS\-   rS\ S3/rSSS	S
SS.SS.SSS.SSS./rSSS	SSS.S/SS0S./r	S r
Srg)
UDNEmbedIE   u   聯合影音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           
      b   U R                  U5      nU R                  X5      nU R                  SUS5      n[        U5      nU R	                  USSS9=(       d    0 nU(       a  US   nUS   nUR                  S5      n	OHU R	                  U R                  SUS	5      S	5      nU R                  S
US5      nU R                  SUSS S9n	UR                  S5      (       a!  U R                  UR                  S5      S5      $ / n
UR                  5        GH  u  pU(       d  M  U R                  [        R                  R                  X5      USU S3S9n[        U5      nUS:X  a"  U
R                  U R                  XSSS95        Mt  US:X  a!  U
R                  U R                  XSS95        M  [        R                   " SU5      nUSU-   S.nU(       aD  UR#                  [%        UR'                  S5      5      [%        UR'                  S5      5      S.5        U
R)                  U5        GM     UU
UU	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_formats                    N/home/james-whalen/.local/lib/python3.13/site-packages/yt_dlp/extractor/udn.py_real_extractUDNEmbedIE._real_extract/   sN   >>#&%%c4--+T9>&{3""#4iu"MSQS )JG$E[[*F))$*A*A,.?+OP\^J++*KBE,,+[(D - RF >>)$$??:>>)#<iHH#-#3#3#5J..$$S2H(F; / =I  	*Cf}t99UE  :  C Dt88  9  7 8 yy!GS$!(:!5
 OO"-djj.B"C*4::e+<=%  x(7 $6< 	
 	
     N)__name__
__module____qualname____firstlineno__IE_DESC_PROTOCOL_RELATIVE_VALID_URL
_VALID_URL_EMBED_REGEX_TESTS_WEBPAGE_TESTSrK   __static_attributes__rN   rM   rJ   r
   r
      s    G#W ::J<=Y<ZZ\]^L7A1	
 	 9
 8F& 4RA	
 55"F+ N;
rM   r
   )
r:   urllib.parser4   commonr   utilsr   r   r   r
   rN   rM   rJ   <module>r]      s&    	  ! ^
 ^
rM   