o
    iT                     @   sP   d dl mZ ddlmZmZmZmZmZmZm	Z	m
Z
mZmZ G dd deZdS )   )InfoExtractor   )
ExtractorError
clean_htmlint_or_nonemerge_dictsparse_countstr_or_nonetry_getunified_strdateurlencode_postdataurljoinc                   @   s   e Zd ZdZdZdZdgZdZdddd	d
ddddddddddd	ddddi dddgZdddddddd d!d"	Z	d#d$d%Z
d&Zd'd( Zd)S )*HKETVIEhketvuX   香港教育局教育電視 (HKETV) Educational Television, Hong Kong Educational BureauFHKz<https?://(?:www\.)?hkedcity\.net/etv/resource/(?P<id>[0-9]+)z0https://www.hkedcity.net/etv/resource/2932360618 f193712f5f7abb208ddef3c5ea6ed0b7
2932360618mp4u>   喜閱一生(共享閱讀樂) (中、英文字幕可供選擇)z$md5:d5286d05219ef50e0613311cbe96e56020181024i  zcount:2)idexttitledescriptionupload_dateduration	subtitleszGeo restricted to HK)urlmd5	info_dictskipz/https://www.hkedcity.net/etv/resource/972641418 1ed494c1c6cf7866a8290edad9b07dc9	972641418u!   衣冠楚楚 (天使系列之一)z$md5:10bb3d659421e74f58e5db5691627b0f20070109i  zzh-Hantzzh-Hansenr   hinetlthur)	u   中文（繁體中文）u   中文（简体中文）EnglishzBahasa Indonesiau   हिन्दीu   नेपालीTagalogu	   ไทยu   اردوih  i  )SDHDzhttps://apps.hkedcity.netc                 C   s  |  |}| ||}| jd|d dp*| jd|dd ddp*| jd|dd dp*| |}| d|d	}| d
|d}d|||d}| j| jd |t|t	ddi| 
 d}|d }	|drc|ds}t|d}
d|
v rw| j|
| jd nt|
ddg }t|	d}t|	d}|	d d }|d D ]5}t| j|d}|sq|d }| j|}|r|r|r|| | nd }|||d!|||d" qi }t|d#d$ tpg }|D ]D}t|tsqt|d%}|rt|tsq| d&vrqt| j|d}|sq|d }|| j||g | |d'd( q| jd)|td*d+|d,ddid-d.p4i }tt|d/d$ }||| jd0|d-d1t| jd2|d-d1d-d3t|	d4||t| j|	d5t|	d6|d7
S )8N)ed_titlezsearch.ed_title)defaultz=data-favorite_title_(?:eng|chi)=(["\'])(?P<id>(?:(?!\1).)+)\1r   r   )r.   groupz<h1>([^<]+)</h1>z-post_var\[["\']file_id["\']\s*\]\s*=\s*(.+?);zfile IDz0post_var\[["\']curr_url["\']\s*\]\s*=\s*"(.+?)";zcurr URLget_info)actioncurr_urlfile_id	video_urlz/media/play/handler.phpzContent-Typez!application/x-www-form-urlencoded)dataheadersresultsuccessaccessaccess_err_msgz0Video streaming is not available in your country)msg	countriesT)expectedwidthheightplaylist    sourcesfilelabeltype)	format_idr   r   r>   r?   c                 S   s   | d S )Ntracks xrH   rH   J/home/ubuntu/.local/lib/python3.10/site-packages/yt_dlp/extractor/hketv.py<lambda>   s    z'HKETVIE._real_extract.<locals>.<lambda>kind)captionsr   srt)r   r   z+https://emocounter.hkedcity.net/handler.phpget_emotionetv)r1   zdata[bucket_id]zdata[identifier]F)r5   r6   fatalc                 S   s   | d d d d S )Nr5   emotion_datarA   countrH   rI   rH   rH   rK   rL      s    r   )rR   ed_date)	day_firstlengthimage
view_count)
r   r   r   r   r   formatsr   	thumbnailrY   
like_count) 	_match_id_download_webpage_html_search_meta_search_regex_html_search_regex_og_search_title_download_json_APPS_BASE_URLr   r   geo_verification_headersgetr   raise_geo_restricted_GEO_COUNTRIESr   r   r   _FORMAT_HEIGHTSappendr
   list
isinstancedictr	   strlower
setdefault	_CC_LANGS_proto_relative_urlr   r   )selfr   video_idwebpager   r3   r2   r5   responser7   errorrZ   r>   r?   	playlist0fmtfile_urlrD   hwr   rG   track
track_kind	track_urltrack_labelemotionr\   rH   rH   rK   _real_extractC   s   







	zHKETVIE._real_extractN)__name__
__module____qualname__IE_NAMEIE_DESC_GEO_BYPASSrh   
_VALID_URL_TESTSrq   ri   rd   r   rH   rH   rH   rK   r      s\    		r   N)commonr   utilsr   r   r   r   r   r	   r
   r   r   r   r   rH   rH   rH   rK   <module>   s    0