U
    y^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d|d dpT| jd|dd ddpT| jd|dd dpT| |}| d|d	}| d
|d}d|||d}| j| jd |t|t	ddi| 
 d}|d }	|dr|dst|d}
d|
kr| j|
| jd nt|
ddg }t|	d}t|	d}|	d d }|d D ]v}t| j|d}|sNq.|d }| j|}|r|r|r|| | nd }|||d!|||d" q.| | i }t|d#d$ tpg }|D ]}t|tsqt|d%}|rt|tsq| d&krqt| j|d}|s4q|d }|| j||g | |d'd( q| jd)|td*d+|d,ddid-d.pi }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)Z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 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   r9   r:   c                 S   s   | d S )Ntracks xrB   rB   MC:\Users\TaGoRe\Desktop\beinconnect-dl\binaries\youtube_dl\extractor\hketv.py<lambda>       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)r1   r2   fatalc                 S   s   | d d d d S )Nr1   Zemotion_datar   countrB   rC   rB   rB   rE   rF      rG   r   )rK   Zed_date)	day_firstlengthimage
view_count)
r   r   r   r   r   formatsr   	thumbnailrP   
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append_sort_formatsr   list
isinstancedictr   r   lower
setdefault	_CC_LANGS_proto_relative_urlr   r   )selfr   video_idwebpager   r/   r.   r1   responser3   errorrQ   r9   r:   Z	playlist0fmtfile_urlr>   hwr   rA   track
track_kind	track_urlZtrack_labelZemotionrS   rB   rB   rE   _real_extractJ   s   
             
"


  	     zHKETVIE._real_extractN)__name__
__module____qualname__IE_NAMEIE_DESC_GEO_BYPASSr_   
_VALID_URL_TESTSrh   r`   r[   rv   rB   rB   rB   rE   r      s`   	
  r   N)
__future__r   commonr   compatr   utilsr   r   r	   r
   r   r   r   r   r   r   r   rB   rB   rB   rE   <module>   s   0