U
    g	                     @   s4   d dl Z ddlmZ ddlmZ G dd deZdS )    N   )InfoExtractor   )
orderedSetc                	   @   sh   e Zd ZdZdddddddd	d
ddddidddddidddddddddddgZdd ZdS )	CTVNewsIEzUhttps?://(?:.+?\.)?ctvnews\.ca/(?:video\?(?:clip|playlist|bin)Id=|.*?)(?P<id>[0-9.]+)z)http://www.ctvnews.ca/video?clipId=901995Z 9b8624ba66351a23e0b6e1391971f9afZ901995Zflvz1Extended: 'That person cannot be me' Johnson saysz$md5:958dd3b4f5bbbf0ed4d045c790d89285iuWZ20160630)idexttitledescription	timestampZupload_date)urlmd5	info_dictz0http://www.ctvnews.ca/video?playlistId=1.2966224r   z	1.2966224   )r   r   Zplaylist_mincountz+http://www.ctvnews.ca/video?binId=1.2876780z	1.2876780d   zhttp://www.ctvnews.ca/1.810401T)r   Zonly_matchingz[http://www.ctvnews.ca/canadiens-send-p-k-subban-to-nashville-in-blockbuster-trade-1.2967231z5http://vancouverisland.ctvnews.ca/video?clipId=761241c                    s   |  |}dd  | r" |S | jd| |dddd} fdd	ttd
|D }|s| ||}d|kr fdd	| d|ddD }| ||S d S )Nc                 S   s   d| d|  ddS )NZurl_transparentz9c9media:ctvnews_web:ZNineCNineMedia)_typer   r   Zie_key )clip_idr   r   </tmp/pip-unpacked-wheel-q5ljy6pj/yt_dlp/extractor/ctvnews.pyninecninemedia_url_result0   s
    z:CTVNewsIE._real_extract.<locals>.ninecninemedia_url_resultzhttp://www.ctvnews.ca/zexample.AjaxPageLayout.oti@B )ZotZmaxItemsPerPage)queryc                    s   g | ]} |qS r   r   .0r   r   r   r   
<listcomp>?   s     z+CTVNewsIE._real_extract.<locals>.<listcomp>zclip\.id\s*=\s*(\d+);zgetAuthStates("c                    s   g | ]} |qS r   r   r   r   r   r   r   D   s     zgetAuthStates\("([\d+,]+)"zclip ids,)	Z	_match_idisdigitZ_download_webpager   refindallZ_search_regexsplitZplaylist_result)selfr   Zpage_idZwebpageentriesr   r   r   _real_extract-   s$    



zCTVNewsIE._real_extractN)__name__
__module____qualname__Z
_VALID_URLZ_TESTSr"   r   r   r   r   r      sD     $r   )r   commonr   utilsr   r   r   r   r   r   <module>   s   