
    Ği                     r    d dl Z d dlZd dlZddlmZ ddlmZ ddlm	Z	m
Z
 ddlmZmZ  G d d	e          ZdS )
    N   )InfoExtractor)NineCNineMediaIE   )extract_attributes
orderedSet)find_elementtraverse_objc                      e Zd ZdZdZdZe de e de e de e de de d	e gZd
dddddddg ddg dddddddddddddd dg dg d!d"d#d$d%dd&d'd(id)d*d+d'd,id-d*d.d'd/id0d*d1d2d3dd4d5d6d7d8g g d9d:d;d<d=d>dd?d@dAdg dBddCd;dDdEdFdGdg dHdIddJdKi d'dLdMddNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d"d]d^d_d;d`g dag dbdWdcddddedfdgdhdfdgdidfdggZdj Zdk Z	dlS )m	CTVNewsIEz!https?://(?:[^.]+\.)?ctvnews\.ca/z(?P<id>\d{5,})z(?P<id>\d\.\d{5,})zvideo/czvideo(?:-gallery)?/?\?clipId=zvideo/?\?(?:playlist|bin)Id=z(?!video/)[^?#]*?z/?(?:$|[?#])z(?!video/)[^?#]+\?binId=z)http://www.ctvnews.ca/video?clipId=901995 b608f466c7fa24b9666c6439d766ab7e901995flvz1Extended: 'That person cannot be me' Johnson saysz$md5:958dd3b4f5bbbf0ed4d045c790d89285iuW20160630r   zSeason 0z'CTV News National | Archive | Stories 257981zre:https?://.*\.jpg$g5^I@)idexttitledescription	timestampupload_date
categoriesseason_numberseasontagsseries	season_id	thumbnailduration)urlmd5	info_dictz\https://barrie.ctvnews.ca/video/c3030933-here_s-what_s-making-news-for-nov--15?binId=1272429 8b8c2b33c5c1803e3c26bc74ff8694d53030933u)   Here’s what’s making news for Nov. 15uJ   Here are the top stories we’re working on for CTV News at 11 for Nov. 15zhhttp://images2.9c9media.com/image_asset/2021_2_22_a602e68e-1514-410e-a67a-e1f7cccbacab_png_2000x1125.jpg58104zCTV News Barrie20241116gbX9xE@i7g)r   r   r   r   r   r   r   r   r   r   r   r   r   r   z0http://www.ctvnews.ca/video?playlistId=1.2966224r   z	1.2966224   )r    r"   playlist_mincountz+http://www.ctvnews.ca/video?binId=1.2876780z	1.2876780d   zlhttps://www.ctvnews.ca/it-s-been-23-years-since-toronto-called-in-the-army-after-a-major-snowstorm-1.5736957z	1.5736957   z~https://www.ctvnews.ca/business/respondents-to-bank-of-canada-questionnaire-largely-oppose-creating-a-digital-loonie-1.6665797 24bc4b88cdc17d8c3fc01dfc228ab72c269502689852zFrom CTV News Channelz$md5:796a985a23cacc7e1e2fafefd94afd0a2023z1Bank of Canada asks public about digital currency20230526i  zhhttp://images2.9c9media.com/image_asset/2019_3_28_35f5afc3-10f6-4d92-b194-8b9a86f55c6a_png_1920x1080.jpgipdgV-o@)r   r   r   r   r   r   r   r   r   r   r   r   r   r   z3https://stox.ctvnews.ca/video-gallery?clipId=582589 135cc592df607d29dddc931f1b756ae2582589iUgc_@zCTV News Stoxz=CTV original footage of the rise and fall of the Berlin Wall.zBerlin Wall6381720150401)r   r   r   r   r   r   r   r   r   r   r   r   r   r   zdhttps://ottawa.ctvnews.ca/features/regional-contact/regional-contact-archive?binId=1.1164587#3023759 a14c0603557decc6531260791c23cc5e3023759r   r   i  r   i#9gr   2024episodezEpisode 125r   zCTV News Ottawa at Sixr   gx&0@episode_number}   r   r   z6CTV News Ottawa at Six for Saturday, November 16, 2024r   r   r   r   r   92667zhttp://www.ctvnews.ca/1.810401T)r    only_matchingz[http://www.ctvnews.ca/canadiens-send-p-k-subban-to-nashville-in-blockbuster-trade-1.2967231z5http://vancouverisland.ctvnews.ca/video?clipId=761241c                 @    |                      d| t          |          S )Nz9c9media:ctvnews_web:)
url_resultr   )selfclip_ids     ]C:\Users\betacode\Desktop\descargarYoutube\venv\Lib\site-packages\yt_dlp/extractor/ctvnews.py_ninecninemedia_url_resultz$CTVNewsIE._ninecninemedia_url_result   s#    @w@@BRT[\\\    c                 0                          |          }t          j         j        t          j                            |          j                  x}r|                    d          }t          j         j        |          r 	                    |          S  
                    d| |ddd          } fdt          t          j        d|                    D             }|s 
                    ||          }d	|v r7 fd
                     d|d                              d          D             }nJ fdt          |t!          dd          ht"          hdt$          j        hddt(          hf          D             }                     ||          S )Nr   zhttps://www.ctvnews.ca/zexample.AjaxPageLayout.oti@B )otmaxItemsPerPage)queryc                 :    g | ]}                     |          S  rA   .0r?   r>   s     r@   
<listcomp>z+CTVNewsIE._real_extract.<locals>.<listcomp>   s=     ] ] ] 227;; ] ] ]rB   zclip\.id\s*=\s*(\d+);zgetAuthStates("c                 :    g | ]}                     |          S rH   rI   rJ   s     r@   rL   z+CTVNewsIE._real_extract.<locals>.<listcomp>   s9     n n n4::7CC n n nrB   zgetAuthStates\("([\d+,]+)"zclip ids,c                 :    g | ]}                     |          S rH   rI   rJ   s     r@   rL   z+CTVNewsIE._real_extract.<locals>.<listcomp>   s4       AHD33G<<  rB   zjasper-player-containerT)taghtmlzaxis-ids.axisId)	_match_idre	fullmatch_VIDEO_ID_REurllibparseurlparsefragmentgrouprA   _download_webpager   findall_search_regexsplitr
   r	   r   jsonloadsstrplaylist_result)r>   r    page_idmobjwebpageentriess   `     r@   _real_extractzCTVNewsIE._real_extract   s   ..%%< 16<3H3H3M3M3VWWW4 	'jj&&G<)733 	<227;;;(()L7)L)Lg-&^
 ^
(  ] ] ] ]",RZ8PRY-Z-Z"["[] ] ] 	,,S'::G G++n n n n--.KWV`aagghklln n n    %*C$OOOP+,j4:,XX[W\+^ _ _   ##GW555rB   N)
__name__
__module____qualname___BASE_REGEXrV   _PLAYLIST_ID_RE
_VALID_URL_TESTSrA   rh   rH   rB   r@   r   r      sF       6K$L+O....DDlDDFF_FFGG/GGGBBBBJ ;1JA#% ? 0
 
 ( n1@g D  '%#
 
 ( B +	
    = +	
 !  ~ +	
   P1 -AH%! D#
 
 ( E1# D%Z"  %
 
 ( v1
)
5
 T
 	

 f
 }
 3
 
 c
 :
 M
   D
 "
 B
 .
  !
 , 0  m  G yFB] ] ]6 6 6 6 6rB   r   )r`   rT   urllib.parserW   commonr   ninecninemediar   utilsr   r   utils.traversalr	   r
   r   rH   rB   r@   <module>ru      s     				     ! ! ! ! ! ! , , , , , , 2 2 2 2 2 2 2 2 8 8 8 8 8 8 8 8k6 k6 k6 k6 k6 k6 k6 k6 k6 k6rB   