U
    gL                     @   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gdfdddddddddddd d!d"d#d$d%d&d'g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-ffcb2d7cb685ZcmgZprisaz.%s-config-prod.api.cdn.arcpublishing.com/videoZadnZadvancelocalZanswersZbonnierZbostonglobeZ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   B/tmp/pip-unpacked-wheel-q5ljy6pj/yt_dlp/extractor/arcpublishing.py_extract_embed_urlsJ   s    

z#ArcPublishingIE._extract_embed_urlsc                 C   s  |  | \}}| jD ]\}}||kr|} q6qd}|dkrBd}| jd||  |d|idd }|d d	 }|d
dk}	g }
g }|dg D ]}|d}|r||
k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k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hlsZmp4r$   )r   Zm3u8_idr    c                 s   s   | ]}| d dkV  qdS )ZacodecnoneN)r   ).0fr   r   r   	<genexpr>~   s     z0ArcPublishingIE._real_extract.<locals>.<genexpr>heightz[_x]%d[_-](\d+))defaultZbitratewidthfilesizei)r"   r!   r+   r)   r,   r   Zqualityc                 S   s   | d d S )N	subtitlesurlsr   xr   r   r   <lambda>       z/ArcPublishingIE._real_extract.<locals>.<lambda>enc                 S   s   | d d S )NZpromo_imager   r   r/   r   r   r   r1      r2   c                 S   s   | d d S )NZsubheadlinesr   r   r/   r   r   r   r1      r2   durationd   Zcreated_date)	idtitleZ	thumbnaildescriptionformatsr4   	timestampr-   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videor7   r;   r.   r9   sZs_urlr   Zsmil_formatsr'   Zm3u8_formatsr)   r!   r-   ZsubtitleZsubtitle_urlr   r   r   _real_extractV   s    
 



  
     
   


zArcPublishingIE._real_extractN)
__name__
__module____qualname__r   Z
_VALID_URLZ_TESTSr=   classmethodr   rK   r   r   r   r   r
      s   2
                	
r
   )
r   commonr   utilsr   r   r   r   r	   r
   r   r   r   r   <module>   s   	