
    Ği                     v    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
dS )    N   )InfoExtractor   )jwt_decode_hs256url_or_none)traverse_objc                   6    e Zd ZdZed             Zd ZddZdS )AGalegaBaseIENc                 \    t          |           d         t          j                    z
  dk     S )Nexpx   )r   time)tokens    ]C:\Users\betacode\Desktop\descargarYoutube\venv\Lib\site-packages\yt_dlp/extractor/agalega.py_jwt_is_expiredzAGalegaBaseIE._jwt_is_expired   s%    &&u-	;cAA    c                     |                      d|dt          j        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_ids     r   _refresh_access_tokenz#AGalegaBaseIE._refresh_access_token   sg    &*&9&9=x+  !&+	   
 vxx ': ' ' "'####r   Tc           
          t           j        r|                     t           j                  r|                     |           |                     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   s    * 	1d.B.B=C^._._ 	1&&x000""NHNNPZU%$&L}/J&L&LM # O O 	Or   )TN)__name__
__module____qualname__r    staticmethodr   r#   r+    r   r   r
   r
   	   s^        MB B \B	# 	# 	#O O O O O Or   r
   c            	       L    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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                    |                      |          }|                     d| d|ddddi          }|                     d| d|d	dd
i          }g }i }t          |ddd
t          hf          D ]J}|                     ||dd          \  }}	|                    |           |                     |	|           K|||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=   sd   >>#&&~~"x"""H3MUZ!#T &  
 ,,,,h=X!; '   	$]Y[S^R_4`aa 	: 	:HAA(u B > >JD$NN4   !!$y!9999 "	
 	
 < 3% DseSQ%}5* *  		
 		
r   N)r,   r-   r.   IE_NAME
_VALID_URL_TESTSrX   r0   r   r   r2   r2   $   s        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 1 1 1 1 1 1 1 * * * * * *O O O O OM O O O67
 7
 7
 7
 7
 7
 7
 7
 7
 7
r   