
    V|h                     x    S SK Jr  SSKJrJr   " S S\5      r " S S\5      r " S S	\5      r " S
 S\5      rg)   )InfoExtractor   )int_or_nonetry_getc                   :    \ rS rSrSrSrSrSSS.SSS./rS	 rS
r	g)CBSSportsEmbedIE
   Fzcbssports:embedz(?ix)https?://(?:(?:www\.)?cbs|embed\.247)sports\.com/player/embed.+?
        (?:
            ids%3D(?P<id>[\da-f]{8}-(?:[\da-f]{4}-){3}[\da-f]{12})|
            pcid%3D(?P<pcid>\d+)
        )a  https://www.cbssports.com/player/embed/?args=player_id%3Db56c03a6-231a-4bbe-9c55-af3c8a8e9636%26ids%3Db56c03a6-231a-4bbe-9c55-af3c8a8e9636%26resizable%3D1%26autoplay%3Dtrue%26domain%3Dcbssports.com%26comp_ads_enabled%3Dfalse%26watchAndRead%3D0%26startTime%3D0%26env%3DprodT)urlonly_matchinga'  https://embed.247sports.com/player/embed/?args=%3fplayer_id%3d1827823171591%26channel%3dcollege-football-recruiting%26pcid%3d1827823171591%26width%3d640%26height%3d360%26autoplay%3dTrue%26comp_ads_enabled%3dFalse%26uvpc%3dhttps%253a%252f%252fwww.cbssports.com%252fapi%252fcontent%252fvideo%252fconfig%252f%253fcfg%253duvp_247sports_v4%2526partner%253d247%26uvpc_m%3dhttps%253a%252f%252fwww.cbssports.com%252fapi%252fcontent%252fvideo%252fconfig%252f%253fcfg%253duvp_247sports_m_v4%2526partner_m%253d247_mobile%26utag%3d247sportssite%26resizable%3dTruec                    U R                  U5      R                  5       u  p#U(       a  SU0OSU0nU R                  SU=(       d    UUS9S   nUS   nUS   nUR                  S5      =(       d    0 nU R	                  US   S   S	   US
SSSS9n	UR                  S5      n
S nU
(       ah  U
R                  S5      nU(       aP  U[        U
R                  S5      5      [        U
R                  S5      5      [        U
R                  S5      5      S./nUUU	UUR                  S5      [        [        US 5      5      [        UR                  S5      5      S.$ )Nidpcidz,https://www.cbssports.com/api/content/video/)query    titlemetaDatafilesr
   mp4m3u8_nativehlsF)m3u8_idfatalimagepathwidthheightsize)r
   r   r   filesizedescriptionc                     U S   S   $ )NdateCreatedepoch )xs    T/home/james-whalen/.local/lib/python3.13/site-packages/yt_dlp/extractor/cbssports.py<lambda>0CBSSportsEmbedIE._real_extract.<locals>.<lambda>?   s    a>Nw>W    duration)r   r   formats
thumbnailsr   	timestampr)   )_match_valid_urlgroups_download_jsonget_extract_m3u8_formatsr   r   )selfr
   uuidr   r   videovideo_idr   metadatar*   r   r+   
image_paths                r%   _real_extractCBSSportsEmbedIE._real_extract   sb   **3/668
 $t64.##:LD $ ''(* ;g99Z(.B ,,Wa '55 - 7 		'"
6*J%(7);<)%))H*=> +EIIf,= >	 
 $ 99]3$WU4W%XY#HLL$<=
 	
r(   r#   N)
__name__
__module____qualname____firstlineno___WORKINGIE_NAME
_VALID_URL_TESTSr8   __static_attributes__r#   r(   r%   r   r   
   s;    HGJ b yF$
r(   r   c                       \ rS rSrS rSrg)CBSSportsBaseIED   c                     U R                  U5      nU R                  X5      nU R                  SUS5      nU R                  U[        R                  5       5      $ )Nz><iframe[^>]+(?:data-)?src="(https?://[^/]+/player/embed[^"]+)"z	embed url)	_match_id_download_webpage_search_regex
url_resultr   ie_key)r2   r
   
display_idwebpage
iframe_urls        r%   r8   CBSSportsBaseIE._real_extractE   sU    ^^C(
((9''M["
 z+;+B+B+DEEr(   r#   N)r:   r;   r<   r=   r8   rB   r#   r(   r%   rD   rD   D   s    Fr(   rD   c            	       <    \ rS rSrSrSrSrSSSSS	S
SSS.S./rSrg)CBSSportsIEN   F	cbssportsz>https?://(?:www\.)?cbssports\.com/[^/]+/video/(?P<id>[^/?#&]+)zRhttps://www.cbssports.com/college-football/video/cover-3-stanford-spring-gleaning/z$b56c03a6-231a-4bbe-9c55-af3c8a8e9636r   z!Cover 3: Stanford Spring Gleaningz`The Cover 3 crew break down everything you need to know about the Stanford Cardinal this spring.i^d`20210331i  r   extr   r   r,   upload_dater)   r
   	info_dictr#   N	r:   r;   r<   r=   r>   r?   r@   rA   rB   r#   r(   r%   rQ   rQ   N   s:    HGRJc88}#%
 Fr(   rQ   c            	       <    \ rS rSrSrSrSrSSSSS	S
SSS.S./rSrg)TwentyFourSevenSportsIE`   F	247sportszAhttps?://(?:www\.)?247sports\.com/Video/(?:[^/?#&]+-)?(?P<id>\d+)z^https://247sports.com/Video/2021-QB-Jake-Garcia-senior-highlights-through-five-games-10084854/z$4f1265cb-c3b5-44a8-bb1d-1914119a0cccr   z82021 QB Jake Garcia senior highlights through five gamesz$md5:8cb67ebed48e2e6adac1701e0ff6e45bi_20201204   rU   rX   r#   NrZ   r#   r(   r%   r\   r\   `   s:    HGUJo8OA#%
 Fr(   r\   N)	commonr   utilsr   r   r   rD   rQ   r\   r#   r(   r%   <module>rc      s@    !7
} 7
tFm F/ $o r(   