U
    g                     @   s`   d dl mZ ddlmZmZ G dd deZG dd deZG dd	 d	eZG d
d deZdS )   )InfoExtractor   )int_or_nonetry_getc                   @   s4   e Zd ZdZdZdZddddddgZdd	 Zd
S )CBSSportsEmbedIEFz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)urlZ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              
   C   s   |  | \}}|rd|ind|i}| jd|p2||dd }|d }|d }|dpZi }| j|d d d	 |d
dddd}	|d}
d }|
r|
d}|r|t|
dt|
dt|
ddg}|||	||dtt|dd t|ddS )Nidpcidz,https://www.cbssports.com/api/content/video/)query    titleZmetaDatafilesr   mp4Zm3u8_nativeZhlsF)Zm3u8_idfatalimagepathwidthheightsize)r   r   r   filesizedescriptionc                 S   s   | d d S )NZdateCreatedepoch )xr   r   >/tmp/pip-unpacked-wheel-q5ljy6pj/yt_dlp/extractor/cbssports.py<lambda>?       z0CBSSportsEmbedIE._real_extract.<locals>.<lambda>duration)r   r   formats
thumbnailsr   	timestampr   )Z_match_valid_urlgroupsZ_download_jsongetZ_extract_m3u8_formatsr   r   )selfr   uuidr	   r
   videoZvideo_idr   metadatar   r   r   Z
image_pathr   r   r   _real_extract   sL         

zCBSSportsEmbedIE._real_extractN)__name__
__module____qualname___WORKINGIE_NAME
_VALID_URL_TESTSr'   r   r   r   r   r   
   s   r   c                   @   s   e Zd Zdd ZdS )CBSSportsBaseIEc                 C   s4   |  |}| ||}| d|d}| |t S )Nz><iframe[^>]+(?:data-)?src="(https?://[^/]+/player/embed[^"]+)"z	embed url)Z	_match_idZ_download_webpageZ_search_regexZ
url_resultr   Zie_key)r#   r   Z
display_idZwebpageZ
iframe_urlr   r   r   r'   E   s    
 zCBSSportsBaseIE._real_extractN)r(   r)   r*   r'   r   r   r   r   r/   D   s   r/   c                	   @   s4   e Zd ZdZdZdZdddddd	d
dddgZdS )CBSSportsIEFZ	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`Z20210331i  r   extr   r   r    Zupload_dater   r   Z	info_dictNr(   r)   r*   r+   r,   r-   r.   r   r   r   r   r0   N   s   r0   c                	   @   s4   e Zd ZdZdZdZdddddd	d
dddgZdS )TwentyFourSevenSportsIEFZ	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_Z20201204   r1   r3   Nr4   r   r   r   r   r5   `   s   r5   N)	commonr   utilsr   r   r   r/   r0   r5   r   r   r   r   <module>   s
   :
