
    VGh                     \    d dl mZ ddlmZmZmZmZmZmZ  G d de      Z	 G d de      Z
y)	   )InfoExtractor   )int_or_nonestr_or_nonetry_getunified_timestampupdate_url_queryurljoinc            	       <    e Zd ZdZdZddddddd	d
dddddZd Zy)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                    | j                  |      }d|v rdnd}| j                  d|z   |      }t        |d t              }g }|r_|d   }t	        |d   d| d	         }| j                  ||d
d      }|D ]+  }|j                  d      }	|	|k(  rd|d<   |	sd|d<   'd|d<   - t	        |d   d| d	         }
d }||t	        |d   j                  d| d	            t        |d   j                  d            |
r|
gnd t        |t	        |d   j                  d| d                   ||d   j                  d            dS )Nz/l-episode?frenzohttps://www.cpac.ca/api/1/services/contentModel.json?url=/site/website/episode/index.xml&crafterSite=cpacca&id=c                     | d   d   d   S )NpagedetailsvideoUrl )xs    ^/var/www/it7/html/youtubeDownloader/venv/lib/python3.12/site-packages/yt_dlp/extractor/cpac.py<lambda>z&CPACIE._real_extract.<locals>.<lambda>(   s    qy/CJ/O     r"   r#   title__thlsr   )m3u8_idr   language
   language_preferencei	category_c                     | | dk(  S d S )Nliver%   )v_types    r'   is_livez%CPACIE._real_extract.<locals>.is_live:   s    )/);Ff$EEr)   description_liveDateTimeimage__stype)r   formatsr   r   r   
categories	thumbnailr6   )		_match_id_download_jsonr   strr   _extract_m3u8_formatsgetr   r
   )selfr   video_idurl_langcontent	video_urlr<   r   fmtfmt_langcategoryr6   s               r'   _real_extractzCPACIE._real_extract!   s   >>#&(C/4T%%}  AI  I G%OQTU	foG	 2VH:R3H IJE00HeY^0_G 577:.x'13C-.!13C-.14C-.5 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)   N)__name__
__module____qualname__IE_NAME
_VALID_URL_TESTrL   r%   r)   r'   r   r      sE    GwJ U18%`A#
 "!%
E$%
r)   r   c                   `    e Zd ZdZdZddddddd	d
ddddd	dddddd	ddddddgZd Zy)CPACPlaylistIEz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   r/   )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           
           j                        }t        fddD              rdndt        fddD              rdnd\  }d	| d
| } j                  ||      }g }t        t	        |fd      d      }t        d|dz         D ]w  }|dkD  r&t        |d|i      } j                  ||d| d      }t	        |fdt              xs g D ]/  }	t        t	        |	fd            }
|
s|j                  |
       1 y  j                   fd|D        |t	        |fd      xs |j                  d      d   t	        |fd            S )Nc              3   &   K   | ]  }|v  
 y wNr%   .0r&   r   s     r'   	<genexpr>z/CPACPlaylistIE._real_extract.<locals>.<genexpr>m   s     PAqCxP   )
/emission?z/rechercher?r   r    c              3   &   K   | ]  }|v  
 y wr]   r%   r^   s     r'   r`   z/CPACPlaylistIE._real_extract.<locals>.<genexpr>n   s     ;jAH;jra   )z	/program?rb   )programitemList)searchsearchResultzGhttps://www.cpac.ca/api/1/services/contentModel.json?url=/site/website/z/index.xml&crafterSite=cpacca&c                     | d      d   S )Nr"   
totalPagesr%   r&   	list_types    r'   r(   z.CPACPlaylistIE._real_extract.<locals>.<lambda>s   s    QvYy=QR^=_ r)   r   )defaultr"   zDownloading continuation - F)notefatalc                     | d      d   S )Nr"   itemr%   rj   s    r'   r(   z.CPACPlaylistIE._real_extract.<locals>.<lambda>|   s    1V9Y3G3O r)   c                     | d d   S )Nurl_r:   r%   r&   rF   s    r'   r(   z.CPACPlaylistIE._real_extract.<locals>.<lambda>}   s    1tH:UWEXCY r)   c              3   @   K   | ]  }j                  |        y wr]   )
url_result)r_   entryrD   s     r'   r`   z/CPACPlaylistIE._real_extract.<locals>.<genexpr>   s     9T__U#9s   c                 "    | d   d   d d   S )Nr"   rd   r*   r+   r%   rs   s    r'   r(   z.CPACPlaylistIE._real_extract.<locals>.<lambda>   s!    ai	6JVT\S]]_K`6a r)   =r1   c                 "    | d   d   d d   S )Nr"   rd   r7   r+   r%   rs   s    r'   r(   z.CPACPlaylistIE._real_extract.<locals>.<lambda>   s"    AfIi<PS_`h_iikQl<m r)   )playlist_idplaylist_titleplaylist_description)r?   anyr@   r   r   ranger	   listr
   appendplaylist_resultsplit)rD   r   rE   pl_typeapi_urlrG   entriestotal_pagesr"   rp   episode_urlrk   rF   s   ``         @@r'   rL   zCPACPlaylistIE._real_extractk   s   >>#&P1OPP4VZ8;;jNi;j8j4  qKUV]U^^|  ~F  }G  H 	%%gx8!''3_"`jkl![1_- 	0Dax*7VTNC--X6tf= . !
  )OQUV\Z\ 0%c749Y+Z[NN;/0	0 ##99 "7,ab}fnftftuxfyz|f}!(2m!n	 $ 
 	
r)   N)rM   rN   rO   rP   rQ   _TESTSrL   r%   r)   r'   rT   rT   I   s    G [J 2( B

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