o
    iK                     @   sL   d dl mZ ddlmZ ddlmZmZmZmZm	Z	m
Z
 G dd deZdS )   )InfoExtractor   )	HTTPError)ExtractorErrordetermine_extfloat_or_noneint_or_nonejoin_nonemptyparse_iso8601c                       s   e Zd ZdZdZdZde dgZdddd	d
dddddddid	dgdddd	dddddiddddddddddd ddd!ddd"ddd#ddg	Z fd$d%Zd&d' Z	  Z
S )(ThreeQSDNIE3qsdnz3Q SDNz\https?://playout\.3qsdn\.com/(?P<id>[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12})z+<iframe[^>]+\b(?:data-)?src=(["\'])(?P<url>z.*?)\1z>https://playout.3qsdn.com/7201c779-6b3c-11e7-a40e-002590c750be 64a57396b16fa011b15e0ea60edce918z$7201c779-6b3c-11e7-a40e-002590c750bemp4z	Video AdsFzVideo Ads DemoiJmY20170717gK7A@engzcount:1)	idexttitleis_livedescription	timestampupload_dateduration	subtitlesz2Unknown MIME type application/mp4 in DASH manifest)urlmd5	info_dictexpected_warningsz>https://playout.3qsdn.com/66e68995-11ca-11e8-9273-002590c750bez$66e68995-11ca-11e8-9273-002590c750bezVre:^66e68995-11ca-11e8-9273-002590c750be [0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}$T)r   r   r   r   skip_download)r   r   paramsz=http://playout.3qsdn.com/9edf36e0-6bf2-11e2-a16a-9acf09e2db48)r   only_matchingz=http://playout.3qsdn.com/ac5c3186-777a-11e2-9c30-9acf09e2db48z=http://playout.3qsdn.com/d63a3ffe-75e8-11e2-9c30-9acf09e2db48z=http://playout.3qsdn.com/8e330f26-6ae2-11e2-a16a-9acf09e2db48z>https://playout.3qsdn.com/6092bb9e-8f72-11e4-a173-002590c750bezKhttp://playout.3qsdn.com/0280d6b9-1215-11e6-b427-0cc47a188158?protocol=httpzFhttps://playout.3qsdn.com/d755d94b-4ab9-11e3-9162-0025907ad44f?js=truec                 #   s8    t  ||D ]}i |d| d|ddV  qd S )Nurl_transparentz^(?:https?://)?([^/]*)/.*zvideo uploader)_typeuploader)super_extract_from_webpage_search_regex)selfr   webpageres	__class__ N/home/ubuntu/.local/lib/python3.10/site-packages/yt_dlp/extractor/threeqsdn.pyr%   N   s   z!ThreeQSDNIE._extract_from_webpagec                 C   sB  |  |}z| |dd|}W n ty. } zt|jtr)|jjdkr)|    d }~ww |	ddk}t
|	d}g }i }|	dpGi  D ]\}	}
|
sQqJ|	dkrl| j|
|d	d
d\}}|| | ||}qJ|	dkr| j|
|d|dd
d\}}|| | ||}qJ|	dkr|
D ]A}|	d}|r| ||sqt|}t|	d}||td||o| d|d||dkrdnd |r|rt|| nd d qqJ|	dpg D ]}|	d}|sq||	dpdg d|i q|	dp|}|||	dpd |	dpd t|	dt
|	dpd |||d d!
S )"Nz://playout.3qsdn.com/z://playout.3qsdn.com/config/i  streamContentliveaspectsourcesdashmpdF)mpd_idfatalhlsr   )r/   m3u8_idr5   progressivesrcheighthttpp    none)r   	format_idr:   source_preferencer   vcodecwidthr   labelr   r   r   posterr   r   vlength)r)   r@   )
r   r   	thumbnailr   r   r   r   formatsr   _format_sort_fields)	_match_id_download_jsonreplacer   
isinstancecauser   statusraise_geo_restrictedgetr   items"_extract_mpd_formats_and_subtitlesextend_merge_subtitles#_extract_m3u8_formats_and_subtitles_is_valid_urlr   r   appendr	   int
setdefaultr
   )r'   r   video_idconfiger/   r0   rG   r   source_typesourcefmtssubssr9   r   r:   subtitler   r,   r,   r-   _real_extractV   s   








zThreeQSDNIE._real_extract)__name__
__module____qualname__IE_NAMEIE_DESC
_VALID_URL_EMBED_REGEX_TESTSr%   rc   __classcell__r,   r,   r*   r-   r      sj    <r   N)commonr   networking.exceptionsr   utilsr   r   r   r   r	   r
   r   r,   r,   r,   r-   <module>   s     
