o
    i                     @   s\   d dl Z d dlZddlmZ ddlmZmZ ddlmZ G dd deZ	G d	d
 d
e	Z
dS )    N   )InfoExtractor   )jwt_decode_hs256url_or_none)traverse_objc                   @   s.   e Zd ZdZedd Zdd Zd	ddZdS )
AGalegaBaseIENc                 C   s   t | d t  dk S )Nexpx   )r   time)token r   L/home/ubuntu/.local/lib/python3.10/site-packages/yt_dlp/extractor/agalega.py_jwt_is_expired   s   zAGalegaBaseIE._jwt_is_expiredc                 C   s0   | j d|dtd d ddd dd t_d S )Nz/https://www.agalega.gal/api/fetch-api/jwt/tokenzDownloading access tokencrtvgF)usernamepasswordclientcheckExistsCookies)notedataaccess)_download_jsonjsondumpsencoder   _access_token)selfvideo_idr   r   r   _refresh_access_token   s   
z#AGalegaBaseIE._refresh_access_tokenTc              	   C   sD   t jr	| t jr| | | jd| ||||ddt j idS )Nz5https://api-agalega.interactvty.com/api/2.0/contents/Authorizationzjwtok )r   fatalqueryheaders)r   r   r   r   r   )r   endpoint
display_idr   r!   r"   r   r   r   	_call_api   s   

zAGalegaBaseIE._call_api)TN)__name__
__module____qualname__r   staticmethodr   r   r&   r   r   r   r   r   	   s    
r   c                	   @   sL   e Zd ZdZdZddddddd	d
dddddddd	d
dgZdd ZdS )	AGalegaIEzagalega:videoszAhttps?://(?:www\.)?agalega\.gal/videos/(?:detail/)?(?P<id>[0-9]+)z8https://www.agalega.gal/videos/288664-lr-ninguencheconta 04533a66c5f863d08dd9724b11d1c223288664u;   Roberto e Ángel Martín atenden consultas dos espectadoresuQ   O cómico ademais fai un repaso dalgúns momentos da súa traxectoria profesionalzWhttps://crtvg-bucket.flumotion.cloud/content_cards/2ef32c3b9f6249d9868fd8f11d389d3d.pngmp4)idtitledescription	thumbnailext)urlmd5	info_dictz;https://www.agalega.gal/videos/detail/296152-pulso-activo-7 26df7fdcf859f38ad92d837279d6b56d296152zPulso activo | 18-11-2025uK   Anxo, Noemí, Silvia e Estrella  comparten as sensacións da clase de Eddy.zWhttps://crtvg-bucket.flumotion.cloud/content_cards/a6bb7da6c8994b82bf961ac6cad1707b.pngc           
      C   s   |  |}| jd| d|ddddid}| jd| d|d	dd
id}g }i }t|ddd
thfD ]}| j||ddd\}}	|| | j|	|d q2|||dt|dthfdthtfdthfdS )Nzcontent//zDownloading content dataFoptional_fieldsz/image,is_premium,short_description,has_subtitle)r   r!   r"   zcontent_resources/zDownloading resource data	media_url)r   r"   results.r.   hls)r3   m3u8_id)target)r/   formats	subtitlesname)r1   short_descriptionimage)r0   r1   r2   )		_match_idr&   r   r   #_extract_m3u8_formats_and_subtitlesextend_merge_subtitlesstrany)
r   r4   r   content_dataresource_datar@   rA   m3u8_urlfmtssubsr   r   r   _real_extract=   s:   



zAGalegaIE._real_extractN)r'   r(   r)   IE_NAME
_VALID_URL_TESTSrP   r   r   r   r   r+   $   s.    r+   )r   r   commonr   utilsr   r   utils.traversalr   r   r+   r   r   r   r   <module>   s    