a
    hA                     @   sT   d dl mZ d dlmZ ddlmZmZmZmZ ddl	m
Z
mZ G dd deZdS )	   )InfoExtractor)	YoutubeIE   )
clean_htmlparse_iso8601
update_urlurl_or_none)subs_list_to_dicttraverse_objc                   @   sh   e Zd ZdZdZdZdddddd	gd
dddddddddddddgddddddddgZdd ZdS )
StarTrekIEZstartrekz	STAR TREKzIhttps?://(?:www\.)?startrek\.com(?:/en-(?:ca|un))?/videos/(?P<id>[^/?#]+)zUhttps://www.startrek.com/en-un/videos/official-trailer-star-trek-lower-decks-season-4z/official-trailer-star-trek-lower-decks-season-4Zmp4z4Official Trailer | Star Trek: Lower Decks - Season 4z$md5:dd7e3191aaaf9e95db16fc3abd5ef68bZTRAILERSz$md5:563d7856ddab99bee7a5e50f45531757Z20230722i0ܻdzStar Trek: Lower Deckszstar-trek-lower-deckszre:https?://.+\.(?:jpg|png))idexttitle	alt_title
categoriesdescriptionZrelease_daterelease_timestampseries	series_id	thumbnail)urlZ	info_dictzJhttps://www.startrek.com/en-ca/videos/my-first-contact-senator-cory-bookerz$my-first-contact-senator-cory-bookerz%My First Contact: Senator Cory Bookerz$md5:fe74a8bdb0afab421c6e159a7680db4dzMY FIRST CONTACTz$md5:a3992ab3b3e0395925d71156bbc018ceZ20250401iPgzStar Trek: The Original Serieszstar-trek-the-original-seriesc                    s  |  |}| ||}| ||d d }|d d }|d }rP| |tS t|dddd	thtf |t|d
ddddd fdddthtf
 dt|dddt	htfdddt	htfdddtj
httfddddddt	htfdthfddittddhfddthtd d hfd!thfd"S )#NpropsZ	pagePropsvideodataZyoutube_video_idZseries_and_movies.Zseries_or_movieslugZqueriedheaderZtab3Zslicesitemsc                    s   |d d  kS )Nlinkr    )_vr   r   N/mnt/pikpak/tmp/myenv/lib/python3.9/site-packages/yt_dlp/extractor/startrek.py<lambda>@       z*StarTrekIE._real_extract.<locals>.<lambda>Z	link_copy)r   r   r   r   textZsubheadcategoryZcategory_nameZprimarycontentZ	publishedr   Zlegacy_subtitle_fileen)langZposter_frame)queryZlegacy_video_url)r   r   r   r   r   Z	subtitlesr   r   )Z	_match_idZ_download_webpageZ_search_nextjs_datagetZ
url_resultr   r
   stranyr   upperfilterallr   r	   r   r   )selfr   Zvideo_idZwebpageZ
page_propsZ
video_dataZ
youtube_idr   r!   r"   _real_extract0   s6    
zStarTrekIE._real_extractN)__name__
__module____qualname__ZIE_NAMEZIE_DESCZ
_VALID_URLZ_TESTSr2   r   r   r   r"   r      sB    r   N)commonr   Zyoutuber   utilsr   r   r   r   Zutils.traversalr	   r
   r   r   r   r   r"   <module>   s   