
    V|h                     \    S SK Jr  SSKJrJrJrJrJrJr   " S S\5      r	 " S S\5      r
g)	   )InfoExtractor   )int_or_nonestr_or_nonetry_getunified_timestampupdate_url_queryurljoinc            	       D    \ rS rSrSrSrSSSSSS	S
SS.SSS.S.rS rSrg)CPACIE   cpaczchttps?://(?:www\.)?cpac\.ca/(?P<fr>l-)?episode\?id=(?P<id>[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12})zChttps://www.cpac.ca/episode?id=fc7edcae-4660-47e1-ba61-5b7f29a9db0f e46ad699caafd7aa6024279f2614e8faz$fc7edcae-4660-47e1-ba61-5b7f29a9db0fmp420220215uI   News Conference to Celebrate National Kindness Week – February 15, 2022z$md5:466a206abd21f3a6f776cdef290c23fbiP3b)idextupload_datetitledescription	timestamp	bestvideoT)formathls_prefer_native)urlmd5	info_dictparamsc                    U R                  U5      nSU;   a  SOSnU R                  SU-   U5      n[        US [        5      n/ nU(       ad  US   n[	        US   SU S	3   5      nU R                  XRS
SS9nU H3  nUR                  S5      n	X:X  a  SUS'   M   U	(       d  SUS'   M.  SUS'   M5     [	        US   SU S	3   5      n
S nUUW[	        US   R                  SU S	35      5      [        US   R                  S5      5      U
(       a  U
/OS [        U[	        US   R                  SU S35      5      5      U" US   R                  S5      5      S.$ )Nz/l-episode?frenzohttps://www.cpac.ca/api/1/services/contentModel.json?url=/site/website/episode/index.xml&crafterSite=cpacca&id=c                     U S   S   S   $ )NpagedetailsvideoUrl )xs    O/home/james-whalen/.local/lib/python3.13/site-packages/yt_dlp/extractor/cpac.py<lambda>&CPACIE._real_extract.<locals>.<lambda>(   s    qy/CJ/O    r#   r$   title__thlsr   )m3u8_idr   language
   language_preferencei	category_c                     U b  U S:H  $ S $ )Nliver&   )v_types    r(   is_live%CPACIE._real_extract.<locals>.is_live:   s    )/);Ff$EEr+   description_liveDateTimeimage__stype)r   formatsr   r   r   
categories	thumbnailr8   )		_match_id_download_jsonr   strr   _extract_m3u8_formatsgetr   r
   )selfr   video_idurl_langcontent	video_urlr?   r   fmtfmt_langcategoryr8   s               r(   _real_extractCPACIE._real_extract!   s   >>#&(C/4T%%}  AI  I G%OQTU	foG	 2VH:R3H IJE00eY^0_G77:.'13C-.!13C-.14C-.  wy1IhZr2JKL	F &wy'9'='=XJVX>Y'Z[*79+=+A+A.+QR(08*d k')2D2H2H6RZQ[[]I^2_&`awy155f=>	
 		
r+   r&   N)	__name__
__module____qualname____firstlineno__IE_NAME
_VALID_URL_TESTrO   __static_attributes__r&   r+   r(   r   r      sE    GwJ U18%`A#
 "!%
E$%
r+   r   c                   h    \ rS rSrSrSrSSSSS.S	S
.SSSS.SS
.SSSS.SS
.SSS.SSS./rS rSrg)CPACPlaylistIEI   zcpac:playlistz(?i)https?://(?:www\.)?cpac\.ca/(?:program|search|(?P<fr>emission|rechercher))\?(?:[^&]+&)*?(?P<id>(?:id=\d+|programId=\d+|key=[^&]+))z https://www.cpac.ca/program?id=6zid=6zHeadline Politicsud   Watch CPAC’s signature long-form coverage of the day’s pressing political events as they unfold.)r   r   r   r1   )r   r   playlist_countz9https://www.cpac.ca/search?key=hudson&type=all&order=descz
key=hudsonhudson)r   r      z'https://www.cpac.ca/search?programId=50zprogramId=5050	   z!https://www.cpac.ca/emission?id=6T)r   only_matchingz=https://www.cpac.ca/rechercher?key=hudson&type=all&order=descc           
        ^ ^^^ T R                  T5      n[        U4S jS 5       5      (       a  SOSm[        U4S jS 5       5      (       a  SOSu  nmS	U S
U 3nT R                  XB5      n/ n[        [	        UU4S j5      SS9n[        SUS-   5       H  nUS:  a"  [        USU05      nT R                  XBSU 3SS9n[	        UU4S j[        5      =(       d    /  H7  n	[        T[	        U	U4S j5      5      n
U
(       d  M&  UR                  U
5        M9     M     T R                  U 4S jU 5       U[	        UU4S j5      =(       d    UR                  S5      S   [	        UU4S j5      S9$ )Nc              3   ,   >#    U  H	  oT;   v   M     g 7fNr&   .0r'   r   s     r(   	<genexpr>/CPACPlaylistIE._real_extract.<locals>.<genexpr>m   s     P1OACx1O   )
/emission?z/rechercher?r    r!   c              3   ,   >#    U  H	  oT;   v   M     g 7frd   r&   re   s     r(   rg   rh   n   s     ;jNiHNiri   )z	/program?rj   )programitemList)searchsearchResultzGhttps://www.cpac.ca/api/1/services/contentModel.json?url=/site/website/z/index.xml&crafterSite=cpacca&c                    > U S   T   S   $ )Nr#   
totalPagesr&   r'   	list_types    r(   r)   .CPACPlaylistIE._real_extract.<locals>.<lambda>s   s    QvYy=QR^=_r+   r   )defaultr#   zDownloading continuation - F)notefatalc                    > U S   T   S   $ )Nr#   itemr&   rr   s    r(   r)   rt   |   s    1V9Y3G3Or+   c                    > U ST S3   $ )Nurl_r=   r&   r'   rI   s    r(   r)   rt   }   s    1tH:UWEXCYr+   c              3   F   >#    U  H  nTR                  U5      v   M     g 7frd   )
url_result)rf   entryrG   s     r(   rg   rh      s     9T__U##s   !c                 "   > U S   S   ST S3   $ )Nr#   rl   r,   r-   r&   r|   s    r(   r)   rt      s    ai	6JVT\S]]_K`6ar+   =r3   c                 "   > U S   S   ST S3   $ )Nr#   rl   r:   r-   r&   r|   s    r(   r)   rt      s     AfIi<PS_`h_iikQl<mr+   )playlist_idplaylist_titleplaylist_description)rB   anyrC   r   r   ranger	   listr
   appendplaylist_resultsplit)rG   r   rH   pl_typeapi_urlrJ   entriestotal_pagesr#   ry   episode_urlrs   rI   s   ``         @@r(   rO   CPACPlaylistIE._real_extractk   s   >>#&P1OPPP4VZ8;;jNi;j8j8j4  qKUV]U^^|  ~F  }G  H 	%%g8!''3_"`jkl![1_-Dax*7VTNC--6tf= . !
  )OQUV\Z\\%c749Y+Z[;NN;/ ] . ##99 "7,ab}fnftftuxfyz|f}!(2m!n	 $ 
 	
r+   r&   N)	rQ   rR   rS   rT   rU   rV   _TESTSrO   rX   r&   r+   r(   rZ   rZ   I   s    G [J 2( B

  K
  9 
  3 O3F<
r+   rZ   N)commonr   utilsr   r   r   r   r	   r
   r   rZ   r&   r+   r(   <module>r      s+    ! :
] :
z=
] =
r+   