
    uki                     h    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e      Z	 G d	 d
e	      Z
y)    N   )InfoExtractor   )jwt_decode_hs256url_or_none)traverse_objc                   .    e Zd ZdZed        Zd ZddZy)AGalegaBaseIENc                 N    t        |       d   t        j                         z
  dk  S )Nexpx   )r   time)tokens    S/home/cdr/jupyterlab/.venv/lib/python3.12/site-packages/yt_dlp/extractor/agalega.py_jwt_is_expiredzAGalegaBaseIE._jwt_is_expired   s"    &u-		;cAA    c                     | j                  d|dt        j                  d d ddd      j                               d   t        _        y )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_ids     r   _refresh_access_tokenz#AGalegaBaseIE._refresh_access_token   sR    &*&9&9=x+  !&+	 
 vx ': ' "'##r   c           
          t         j                  r| j                  t         j                        r| j                  |       | j	                  d| ||||ddt         j                   i      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'   s         r   	_call_apizAGalegaBaseIE._call_api   sp    **d.B.B=C^C^._&&x0""CH:NPZU%$}/J/J.K&LM # O 	Or   )TN)__name__
__module____qualname__r    staticmethodr   r#   r+    r   r   r
   r
   	   s&    MB B	#Or   r
   c            	       J    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 Zy)	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                    | j                  |      }| j                  d| d|ddddi      }| j                  d| d|d	dd
i      }g }i }t        |ddd
t        hf      D ]>  }| j	                  ||dd      \  }}	|j                  |       | j                  |	|       @ |||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.r5   hls)r:   m3u8_id)target)r6   formats	subtitlesname)r8   short_descriptionimage)r7   r8   r9   )		_match_idr+   r   r   #_extract_m3u8_formats_and_subtitlesextend_merge_subtitlesstrany)
r!   r;   r"   content_dataresource_datarH   rI   m3u8_urlfmtssubss
             r   _real_extractzAGalegaIE._real_extract=   s-   >>#&~~xj"H3MUZ!#T & 
  
!,h=X!; '  	$]Y[S^R_4`a 	:HAA(u B >JD$NN4 !!$y!9		: "	
 < 3% DseSQ%}5* 		
 		
r   N)r,   r-   r.   IE_NAME
_VALID_URL_TESTSrX   r0   r   r   r2   r2   $   sY    GUJI1Rnr

 M10hr

F,
r   r2   )r   r   commonr   utilsr   r   utils.traversalr   r
   r2   r0   r   r   <module>r_      s.      ! 1 *OM O67
 7
r   