o
    i                     @   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 )AdobeTVVideoIE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/2456 43662b577c018ad707a63766462b1e87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-acrobat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.html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 ]U}| |d }t|dkr8| 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 ]"}|dpt|dpd}|
|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formatplaylistsrcr
   _v r$   L/home/ubuntu/.local/lib/python3.10/site-packages/yt_dlp/extractor/adobetv.py<lambda>=   s    z.AdobeTVVideoIE._real_extract.<locals>.<lambda>r   m3u8r   hlsF)m3u8_idfatalr   r   i  )scale	kilobytes)invscale)r   labelc                 S   s   t |  S )N)r	   )xr$   r$   r%   r&   J   s    heightbitratewidth)r   filesize	format_idr0   tbrr2   translationsc                 S   s   t |d S )NvttPathr    r!   r$   r$   r%   r&   S   s    language_w3clanguage_mediumundvttr7   )r   r   )r   formats	subtitlesr   r   videoposter)r   r   r   )	_match_id_download_webpage_search_jsonr   _proto_relative_urlr   _extract_m3u8_formatsupdater   strallr   extendgetr   
long2short
setdefaultappendr   filterr
   )selfr   video_idwebpage
video_datar<   source
source_urlfmtsfmtr=   translationlangr$   r$   r%   _real_extract5   sX   






zAdobeTVVideoIE._real_extractN)	__name__
__module____qualname__IE_NAME
_VALID_URL_EMBED_REGEX_TESTS_WEBPAGE_TESTSrX   r$   r$   r$   r%   r      sD    r   N)commonr   utilsr   r   r   r   r   r	   r
   utils.traversalr   r   r$   r$   r$   r%   <module>   s    $	