a
    h                     @   sD   d dl Z ddlmZ ddlmZmZmZmZmZ G dd deZ	dS )    N   )InfoExtractor   )extract_attributesint_or_nonejoin_nonemptyparse_iso8601try_getc                   @   s   e Zd ZdZde dZdddddddddd	ddd
dddd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ddgdgZddgdfg d d!fgZed"d# Z	d$d% Z
d&S )'ArcPublishingIEz([\da-f]{8}-(?:[\da-f]{4}-){3}[\da-f]{12}z%arcpublishing:(?P<org>[a-z]+):(?P<id>)z6arcpublishing:adn:8c99cb6e-b29c-4bc9-9173-7bf9979225abT)urlZonly_matchingz>arcpublishing:bostonglobe:232b7ae6-7d73-432d-bc0a-85dbf0119ab1z6arcpublishing:cmg:cfb1cf1b-3ab5-4d1b-86c5-a5515d311f2az=arcpublishing:elcomercio:27a7e1f8-2ec7-4177-874f-a4feed2885b3z6arcpublishing:gmg:c8793fb2-8d44-4242-881e-2db31da2d9fez7arcpublishing:gray:0b0ba30e-032a-4598-8810-901d70e6033ez>arcpublishing:gruponacion:dfcbfa57-527f-45ff-a69b-35fe71054143z6arcpublishing:mco:aa0ca6fe-1127-46d4-b32c-be0d6fdb8055z?arcpublishing:mentormedier:47a12084-650b-4011-bfd0-3699b6947b2dz9arcpublishing:raycom:b89f61f8-79fa-4c09-8255-e64237119bf7z7arcpublishing:tgam:411b34c1-8701-4036-9831-26964711664bz8arcpublishing:tronc:460f2931-8130-4719-8ea1-ffcb2d7cb685zdhttps://www.uppermichiganssource.com/2025/07/18/scattered-showers-storms-bring-heavy-rain-potential/z$508116f7-e999-48db-b7c2-60a04842679bmp4z5Scattered showers & storms bring heavy rain potentiali  zre:https?://.+\.jpgizhZ20250718)idexttitledescriptionduration	thumbnail	timestampZupload_datez2Ignoring subtitle tracks found in the HLS manifest)r   Z	info_dictZexpected_warningsZcmgZprisaz.%s-config-prod.api.cdn.arcpublishing.com/video)ZadnZadvancelocalZanswersZbonnierZbostonglobedemoZgmgZgruponacionZinfobaeZmcoZnzmeZpmnZraycomZ	spectatorZtbtZtgamZtroncwapoZwweekz&video-api-cdn.%s.arcpublishing.com/apic                 C   sb   g }t dtj d|D ]B}t|p(i }|d}|d}|r|r|d| d|  q|S )Nz4(<div[^>]+class="[^"]*\bpowa\b[^"]*"[^>]+data-uuid="z"[^>]*>)zdata-orgz	data-uuidzarcpublishing::)refindallr
   _UUID_REGEXr   getappend)clsr   ZwebpageentriesZpowa_elZpowaorguuid r!   S/mnt/pikpak/tmp/myenv/lib/python3.9/site-packages/yt_dlp/extractor/arcpublishing.py_extract_embed_urlsX   s    

z#ArcPublishingIE._extract_embed_urlsc                 C   s  |  | \}}| jD ]\}}||v r|} q6qd}|dkrBd}| jd||  |d|idd }|d d	 }|d
dk}	g }
g }|dg D ]}|d}|r||
v rq|
| |d}|dkr\| j||dd}|D ]n}|d drd|d< |d dsd|d  |d< t	|d t
r|d d |d< |d= d|d  |d< q|| q|dv r| j||d|	ddd}td d! |D rq|D ]F}|d"}|sq| jd#| |d dd d$}|rt||d< q|| qt|d%}|t|||t|d&t|d"t|d'|d(d) qi }t|d*d+ tpPg D ],}|d}|rR|d,g d|i qR||t|d-d+ t|d.d+ |t|d/d0t|d1||	d2	S )3Nz+%s-prod-cdn.video-api.arcpublishing.com/apir   Zwashpostz"https://%s/v1/ansvideos/findByUuidr    )queryr   Z	headlinesbasicstatusliveZstreamsr   stream_typeZsmilF)fatalz/cfx/stzcfx/stZappZ	play_pathzmp4:Ztbri  vbrzrtmp-%d	format_id)tshlsr   r-   )r'   Zm3u8_idr)   c                 s   s   | ]}| d dkV  qdS )ZacodecnoneN)r   ).0fr!   r!   r"   	<genexpr>       z0ArcPublishingIE._real_extract.<locals>.<genexpr>heightz[_x]%d[_-](\d+))defaultZbitratewidthfilesizei)r+   r*   r5   r3   r6   r   Zqualityc                 S   s   | d d S )N	subtitlesurlsr!   xr!   r!   r"   <lambda>   r2   z/ArcPublishingIE._real_extract.<locals>.<lambda>enc                 S   s   | d d S )NZpromo_imager   r!   r9   r!   r!   r"   r;      r2   c                 S   s   | d d S )NZsubheadlinesr%   r!   r9   r!   r!   r"   r;      r2   r   d   Zcreated_date)	r   r   r   r   formatsr   r   r7   is_live)Z_match_valid_urlgroups_POWA_DEFAULTSZ_download_jsonr   r   Z_extract_smil_formatsendswith
startswith
isinstancefloatextendZ_extract_m3u8_formatsallZ_search_regexintr   r   r	   list
setdefaultr   )selfr   r   r    ZorgstmplZbase_api_tmplvideor   r?   r8   r>   sZs_urlr(   Zsmil_formatsr0   Zm3u8_formatsr3   r*   r7   ZsubtitleZsubtitle_urlr!   r!   r"   _real_extractd   s    









zArcPublishingIE._real_extractN)__name__
__module____qualname__r   Z
_VALID_URLZ_TESTSZ_WEBPAGE_TESTSrA   classmethodr#   rO   r!   r!   r!   r"   r
      sv   2

	
r
   )
r   commonr   utilsr   r   r   r   r	   r
   r!   r!   r!   r"   <module>   s   	