U
    $Pf"                     @   sL   d dl mZ d dlZddlmZ ddlmZmZmZm	Z	 G dd deZ
dS )	    )unicode_literalsN   )InfoExtractor   )extract_attributesint_or_noneparse_iso8601try_getc                   @   s   e Zd ZdZde 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>%s)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   sZ   g }t dtj | D ]>}t|p$i }|d}|d}|r|r|d||f  q|S )Nz>(<div[^>]+class="[^"]*\bpowa\b[^"]*"[^>]+data-uuid="%s"[^>]*>)zdata-orgz	data-uuidzarcpublishing:%s:%s)refindallr
   _UUID_REGEXr   getappend)ZwebpageentriesZpowa_elZpowaorguuid r   F/tmp/pip-unpacked-wheel-7zdooeg3/youtube_dl/extractor/arcpublishing.py_extract_urlsL   s    

zArcPublishingIE._extract_urlsc                 C   s*  t | j| \}}| jD ]\}}||kr|} q:qd}|dkrFd}| 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|	r~dndd dd!}td"d# |D rq|D ]x}|d$d%krd&|d'< n|d(d%krd)|d'< |d*}|sq| jd+| |d dd d,}|rt||d< q|| qt|d-}||rNd.||f n||t|d/t|d*t|d0|d1d2 q| |d3 i }t|d4d5 tpg D ],}|d}|r|d6g d|i q||	r| |n|t|d7d5 t|d8d5 |t|d9d:t|d;||	d<	S )=Nz+%s-prod-cdn.video-api.arcpublishing.com/apir   Zwashpostz"https://%s/v1/ansvideos/findByUuidr   )queryr   Z	headlinesbasicstatusZliveZstreamsr   stream_typeZsmilF)fatalz/cfx/stzcfx/stZappZ	play_pathzmp4:tbri  vbrzrtmp-%d	format_id)tshlsZmp4Zm3u8Zm3u8_nativer!   )Zm3u8_idr   c                 S   s   g | ]}| d dkqS )acodecnone)r   ).0fr   r   r   
<listcomp>   s     z1ArcPublishingIE._real_extract.<locals>.<listcomp>r"   r#   i
preferenceZvcodeciheightz[_x]%d[_-](\d+))defaultZbitratez%s-%dwidthfilesize)r   r   r*   r(   r+   r   r'   )r'   r*   r(   r   r+   r   extr   c                 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   r0   r   r   r   r2      r3   c                 S   s   | d d S )NZsubheadlinesr   r   r0   r   r   r   r2      r3   durationd   Zcreated_date)	idtitleZ	thumbnaildescriptionformatsr5   	timestampr.   is_live)r   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   Z_sort_formatsr	   list
setdefaultZ_live_titler   )selfr   r   r   ZorgstmplZbase_api_tmplvideor8   r<   r/   r:   sZs_urlr   Zsmil_formatsr%   Zm3u8_formatsr(   r   r.   ZsubtitleZsubtitle_urlr   r   r   _real_extractX   s    
 



  
    

   
	 
zArcPublishingIE._real_extractN)
__name__
__module____qualname__r   r>   Z_TESTSr@   staticmethodr   rN   r   r   r   r   r
      s   2
                	
r
   )
__future__r   r   commonr   utilsr   r   r   r	   r
   r   r   r   r   <module>   s   