3
b`5                 @   sh   d dl mZ 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mZmZmZmZ G dd deZd	S )
    )unicode_literals   )InfoExtractor   )
compat_str)

clean_htmlExtractorError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i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/2932360618Z f193712f5f7abb208ddef3c5ea6ed0b7Z
2932360618mp4u>   喜閱一生(共享閱讀樂) (中、英文字幕可供選擇)z$md5:d5286d05219ef50e0613311cbe96e560Z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/972641418Z 1ed494c1c6cf7866a8290edad9b07dc9Z	972641418u!   衣冠楚楚 (天使系列之一)z$md5:10bb3d659421e74f58e5db5691627b0fZ20070109i  geo_verification_proxyz<HK proxy here>)r   r   r   paramsr   zzh-Hantzzh-Hansenr   hinetlthur)	u   中文（繁體中文）u   中文（简体中文）EnglishzBahasa Indonesiau   हिन्दीu   नेपालीZTagalogu	   ไทยu   اردوih  i  )SDHDzhttps://apps.hkedcity.netc             C   s  | j |}| j||}| jd:|d dpT| jd|dd ddpT| jd|dd dpT| j|}| jd	|d
}| jd|d}d|||d}| j| jd |t|t	ddi| j
 d}|d }	|jd s|jd r t|jd}
d|
kr| j|
| jd nt|
ddg }t|	jd}t|	jd}|	d d }x|d D ]v}t| j|jd }|sVq6|jd!}| jj|}|r|r|r|| | nd }|j||jd"|||d# q6W | j| i }t|d$d% tpg }x|D ]}t|tsqt|jd&}| st|t rq|j d;kr(qt| j|jd }|sDq|jd!}|j| jj||g j| j|d)d* qW | jd+|td,d-|d.ddid/d0pi }tt|d1d% }||| jd2|d/d3t| jd4|d/d3d/d5t|	jd6||t| j|	jd7t |	jd8|d9
S )<Ned_title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 URLZget_info)actioncurr_urlfile_id	video_urlz/media/play/handler.phpzContent-Typez!application/x-www-form-urlencoded)dataheadersresultsuccessaccessZaccess_err_msgz0Video streaming is not available in your country)msg	countriesT)expectedwidthheightplaylistr   sourcesfilelabeltype)	format_idr   r   r;   r<   c             S   s   | d S )Ntracks )xrD   rD   KC:\Users\Broad\Desktop\BeinConnetFix\binaries\youtube_dl\extractor\hketv.py<lambda>   s    z'HKETVIE._real_extract.<locals>.<lambda>kindcaptionsr   srt)r   r   z+https://emocounter.hkedcity.net/handler.phpZget_emotionZetv)r/   zdata[bucket_id]zdata[identifier]F)r3   r4   fatalc             S   s   | d d d d S )Nr3   Zemotion_datar   countrD   )rE   rD   rD   rF   rG      s    r   )rK   Zed_date)	day_firstlengthimage
view_count)
r   r   r   r   r   formatsr   	thumbnailrP   
like_count)r+   r,   )rI   r   )!	_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append_sort_formatsr   list
isinstancedictr   r   lower
setdefault	_CC_LANGS_proto_relative_urlr   r   )selfr   video_idwebpager   r1   r0   r3   responser5   errorrQ   r;   r<   Z	playlist0fmtfile_urlr@   hwr   rC   track
track_kind	track_urlZtrack_labelZemotionrS   rD   rD   rF   _real_extractJ   s    



"




zHKETVIE._real_extractN)__name__
__module____qualname__IE_NAMEIE_DESC_GEO_BYPASSr_   
_VALID_URL_TESTSrh   r`   r[   rv   rD   rD   rD   rF   r      sN   
r   N)
__future__r   commonr   compatr   utilsr   r   r	   r
   r   r   r   r   r   r   r   rD   rD   rD   rF   <module>   s   0