
    yf                     N    d dl Z ddlmZ ddlmZmZmZ ddlmZ  G d de      Z	y)	    N   )InfoExtractor   )determine_extint_or_none
js_to_json)compat_urlparsec                   `    e Zd ZdZdZdez   Zdez  gZddddd	d
ddidgdddddddgZd Zy)
UDNEmbedIEu   聯合影音z1//video\.udn\.com/(?:embed|play)/news/(?P<id>\d+)zhttps?:z)<iframe[^>]+src="(?:https?:)?(?P<url>%s)"z&http://video.udn.com/embed/news/300040300040mp4u*   生物老師男變女 全校挺"做自己"zre:^https?://.*\.jpg$)idexttitle	thumbnailskip_downloadTz$Failed to parse JSON Expecting value)url	info_dictparamsexpected_warningsz'https://video.udn.com/embed/news/300040)r   only_matchingz&https://video.udn.com/play/news/303776c           	      2   | j                  |      }| j                  ||      }| j                  d|d      }t        |      }| j	                  |dd      xs i }|r|d   }|d   }|j                  d      }	nK| j	                  | j                  d|d	      d	      }| j                  d
|d      }| j                  d|dd       }	|j                  d      r!| j                  |j                  d      d      S g }
|j                         D ]  \  }}|s
| j                  t        j                  ||      |d|z        }t        |      }|dk(  r%|
j                  | j                  ||dd             j|dk(  r$|
j                  | j                  ||d             t        j                  d|      }|d|z   d}|rD|j!                  t#        |j%                  d            t#        |j%                  d            d       |
j'                  |       
 ||
||	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 %s video)notem3u8r   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itemsr	   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                    6/usr/lib/python3/dist-packages/yt_dlp/extractor/udn.py_real_extractzUDNEmbedIE._real_extract'   sR   >>#&%%c8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..''W5x0:= / ?I  	*Cf}t99xUE  :  C Dt88x  9  7 8 yy!GS$!(:!5
 OO"-djj.B"C*4::e+<=%  x(7	)< 	
 	
    N)	__name__
__module____qualname__IE_DESC_PROTOCOL_RELATIVE_VALID_URL
_VALID_URL_EMBED_REGEX_TESTSrG    rH   rF   r   r      sz    G#W ::J@C__`L7A1	
 T
 EE 9
 8!F,;
rH   r   )
r6   commonr   utilsr   r   r   compatr	   r   rQ   rH   rF   <module>rU      s(    	 ! 
 %V
 V
rH   