o
    i                     @   sh   d dl mZ d dlmZ 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dS )   )BrightcoveNewIE)InfoExtractor   )parse_iso8601)requiretraverse_objc                   @   s   e Zd ZdZedd ZdS )NetAppBaseIEzRhttps://players.brightcove.net/6255154784001/default_default/index.html?videoId={}c                 C   s$   t | dthfdthfdthfdS )Nnamedescription	createdAt)titler
   	timestamp)r   strr   )item r   K/home/ubuntu/.local/lib/python3.10/site-packages/yt_dlp/extractor/netapp.py_parse_metadata
   s
   zNetAppBaseIE._parse_metadataN)__name__
__module____qualname___BC_URLstaticmethodr   r   r   r   r   r      s    r   c                   @   sB   e Zd ZdZdddddddd	d
ddd
ddddgZdd ZdS )NetAppVideoIEz;https?://media\.netapp\.com/video-detail/(?P<id>[0-9a-f-]+)z}https://media.netapp.com/video-detail/da25fc01-82ad-5284-95bc-26920200a222/seamless-storage-for-modern-kubernetes-deployments1843620950167202073mp4z2Seamless storage for modern Kubernetes deploymentsz$md5:1ee39e315243fe71fb90af27960372486255154784001gޠ@zOre:https://house-fastly-signed-us-east-1-prod\.brightcovecdn\.com/image/.*\.jpgzcount:15i=7h20250918)
idextr   r
   uploader_idduration	thumbnailtagsr   upload_date)url	info_dictzhttps://media.netapp.com/video-detail/45593e5d-cf1c-5996-978c-c9081906e69f/unleash-ai-innovation-with-your-data-with-the-netapp-platformT)r$   only_matchingc              	   C   sz   |  |}| d| |}t|ddd dthttdhf}t|ddd tf}| j| j|t	|fdd	i| 
|S )
Nz+https://api.media.netapp.com/client/detail/sectionsc                 S      |d dkS )NtypePlayerr   _vr   r   r   <lambda>/       z-NetAppVideoIE._real_extract.<locals>.<lambda>videozbrightcove video idc                 S   r(   )Nr)   VideoDetailr   r+   r   r   r   r.   1   r/   url_transparentT)	_match_id_download_jsonr   r   anyr   
url_resultr   formatr   r   )selfr$   
video_uuidmetadatabrightcove_video_id
video_itemr   r   r   _real_extract)   s   

zNetAppVideoIE._real_extractN)r   r   r   
_VALID_URL_TESTSr=   r   r   r   r   r      s(    r   c                   @   s4   e Zd ZdZddddddgZdd	 Zd
d ZdS )NetAppCollectionIEz9https?://media\.netapp\.com/collection/(?P<id>[0-9a-f-]+)zHhttps://media.netapp.com/collection/9820e190-f2a6-47ac-9c0a-98e5e64234a4zFeatured sessionsz$9820e190-f2a6-47ac-9c0a-98e5e64234a4)r   r      )r$   r%   playlist_countc                 c   sP    t |ddd fD ]}|d }| j| j|t|fddi| |V  q
d S )Nitemsc                 S   s   |d S )NbrightcoveVideoIdr   r+   r   r   r   r.   D   s    z-NetAppCollectionIE._entries.<locals>.<lambda>rD   r2   T)r   r6   r   r7   r   r   )r8   r:   r   r;   r   r   r   _entriesC   s   
zNetAppCollectionIE._entriesc                 C   s8   |  |}| d| |}| j| |||ddS )Nz/https://api.media.netapp.com/client/collection/r	   )playlist_title)r3   r4   playlist_resultrE   get)r8   r$   collection_uuidr:   r   r   r   r=   J   s
   

z NetAppCollectionIE._real_extractN)r   r   r   r>   r?   rE   r=   r   r   r   r   r@   8   s    	r@   N)
brightcover   commonr   utilsr   utils.traversalr   r   r   r   r@   r   r   r   r   <module>   s    %