a
    h                     @   sP   d dl mZ ddlmZmZmZmZmZmZm	Z	 ddl
mZ G dd deZdS )   )InfoExtractor   )ISO639Utils
clean_htmldetermine_extfloat_or_noneint_or_nonejoin_nonemptyurl_or_none)traverse_objc                	   @   sn   e Zd ZdZdZdgZddddddd	d
ddddddddd
ddgZddddddd
ddgZdd ZdS )AdobeTVVideoIEZadobetvz,https?://video\.tv\.adobe\.com/v/(?P<id>\d+)zG<iframe[^>]+src=["\'](?P<url>(?:https?:)?//video\.tv\.adobe\.com/v/\d+)z!https://video.tv.adobe.com/v/2456Z 43662b577c018ad707a63766462b1e87Z2456mp4zNew experience with Acrobat DCgbX9o@z)re:https?://images-tv\.adobe\.com/.+\.jpg)idexttitledescriptionduration	thumbnail)urlmd5	info_dictz2https://video.tv.adobe.com/v/3463980/adobe-acrobatZ3463980zBAdobe Acrobat: How to Customize the Toolbar for Faster PDF Editingz$md5:94368ab95ae24f9c1bee0cb346e03dc3g7A``X@)r   r   zThttps://business.adobe.com/dx-fragments/summit/2025/marquees/S335/ondemand.live.htmlZ3442499zIS335 - Beyond Personalization: Creating Intent-Based Experiences at ScalezBBeyond Personalization: Creating Intent-Based Experiences at Scaleg@c                 C   s  |  |}| ||}| d|d|}g }t|ddd fD ]}| |d }t|dkrp| j||dd	d
d}n
d|ig}|D ]\}	|	t|dtddhfdtddhfdt	ht
dd hfdthfdthfdthfd q~|| q<i }
t|ddd fD ]H}|dp"t|dp"d}|
|g d| |d d q|||
d t|d!thfd"thtfd#d$| jhthfd%S )&Nzvar\s+bridge\s*=zbridged datasourcesc                 S   s   |d dkot |d S )NformatZplaylistsrcr
   _v r   M/mnt/pikpak/tmp/myenv/lib/python3.9/site-packages/yt_dlp/extractor/adobetv.py<lambda>=       z.AdobeTVVideoIE._real_extract.<locals>.<lambda>r   Zm3u8r   ZhlsF)Zm3u8_idfatalr   r   i  )ZscaleZ	kilobytes)Zinvscale)r   labelc                 S   s   t |  S )N)r	   )xr   r   r   r    J   r!   heightZbitratewidth)r   filesizeZ	format_idr%   Ztbrr&   Ztranslationsc                 S   s   t |d S )NvttPathr   r   r   r   r   r    S   r!   Zlanguage_w3cZlanguage_mediumZundZvttr(   )r   r   )r   formats	subtitlesr   r   videoZposter)r   r   r   )Z	_match_idZ_download_webpageZ_search_jsonr   Z_proto_relative_urlr   Z_extract_m3u8_formatsupdater   strallr   extendgetr   Z
long2short
setdefaultappendr   filterr
   )selfr   Zvideo_idZwebpageZ
video_datar)   source
source_urlZfmtsfmtr*   translationlangr   r   r   _real_extract5   sX    




"

zAdobeTVVideoIE._real_extractN)	__name__
__module____qualname__ZIE_NAMEZ
_VALID_URLZ_EMBED_REGEXZ_TESTSZ_WEBPAGE_TESTSr:   r   r   r   r   r      sB   r   N)commonr   utilsr   r   r   r   r   r	   r
   Zutils.traversalr   r   r   r   r   r   <module>   s   $	