
    V|h#                         S SK r S SKrS SKrSSKJr  SSKJrJrJrJ	r	J
r
JrJrJr  SSKJrJr   " S S\5      r " S	 S
\5      rg)    N   )InfoExtractor   )determine_extfilter_dictfloat_or_noneint_or_none
orderedSetstr_or_nonetry_geturl_or_none)subs_list_to_dicttraverse_objc                       \ rS rSrSrSrSrSSSSS	S
SS.SS0S.SSSSSSSS.SS0S.SSS.SSSSSSSSSS S!.	SS0S.S"S#SS$SSS%S&S'S(S)S*.
SS0S./rS+ rS,r	g-).GloboIE   zC(?:globo:|https?://[^/?#]+?\.globo\.com/(?:[^/?#]+/))(?P<id>\d{7,})globoa9  
    query getVideoView($videoId: ID!) {
        video(id: $videoId) {
            duration
            description
            relatedEpisodeNumber
            relatedSeasonNumber
            headline
            title {
                originProgramId
                headline
            }
        }
    }
    z&https://globoplay.globo.com/v/3607726/3607726mp4u7   Mercedes-Benz GLA passa por teste de colisão na EuropagVY@z
G1 ao vivo4209)idexttitledurationuploaderuploader_idskip_downloadT)url	info_dictparamsz%http://globoplay.globo.com/v/4581987/4581987uO   Acidentes de trânsito estão entre as maiores causas de queda de energia em SPgB`"?a@zBom Dia Brasil810zglobo:3607726r   only_matchingzglobo:80139078013907u   Capítulo de 14/08/1989z	Episode 1r   Tieta11895gJ+T@zcount:1)	r   r   r   episodeepisode_numberr   r   r   	subtitleszglobo:1282414612824146zAcordo de damaszRensga Hits!20481g"@zSeason 2r   )
r   r   r   r(   r)   r   r   r   seasonseason_numberc                    U R                  U5      nU R                  SUS[        R                  " SU05      U R                  S.SSSSS	.S
9S   S   n/ nU R                  SUSU 3SS0[        R                  " [        SUSS[        R                  " 5        SSS0S[        U R                  S5      S 5      SS.
5      5      R                  5       S9n[        USS[        145      (       a  U R                  U5        US   S   n[        US    5      S!:X  a  U R                  US    US"S#9u  pGOU R!                  US    US$S%S&9u  pGU R#                  [        US'S(S)S S*S [$        140[&        [)        S+S,9145      US-9  S.U0[        US/[*        14S0[-        S1S2914S3S/[*        14S3S4[.        14S5[0        14S6[0        14S7.5      EUUS8.E$ )9Nz&https://cloud-jarvis.globo.com/graphqlgetVideoViewvideoId)operationName	variablesqueryzapplication/jsonwebdesktopz	2024.12-5)zcontent-typezx-platform-idzx-device-idzx-client-version)r4   headersdatavideoz1https://playback.video.globo.com/v4/video-sessionzDownloading resource info for zContent-Typemirakulo_8k_hdrmaxwidevine	streaminglow_latencyTz-03:00zhttps://globo.comc                 &    SU S   R                    3$ )NzBearer GLBID)value)xs    P/home/james-whalen/.local/lib/python3.13/site-packages/yt_dlp/extractor/globo.py<lambda>'GloboIE._real_extract.<locals>.<lambda>   s    WQwZ=M=M<N3O    r   )
player_typevideo_idqualitycontent_protectionvsidconsumptioncapabilitiestzAuthorizationversion)r7   r8   resourcedrm_protection_enabledsourcesr   r   mpddash)mpd_idr   hls)m3u8_idtext.)captionsubtitlesrtzpt-BR)lang)targetr   headliner   i  )scaler   originProgramIdrelatedEpisodeNumberrelatedSeasonNumber)r   r   r   r   r)   r.   )formatsr*   )	_match_id_download_jsonjsondumps_VIDEO_VIEWr   uuiduuid4r   _get_cookiesencoder   bool
report_drmr   "_extract_mpd_formats_and_subtitles#_extract_m3u8_formats_and_subtitles_merge_subtitlesr   allr   strr   r   r	   )selfr   rH   inford   r9   main_sourcer*   s           rC   _real_extractGloboIE._real_extractg   sg   >>#&""4h!/!ZZH(=>))
 !3!&($/	 #     ##?,XJ7#%78K0$ &0::<.*!. 5!():):;N)O)O"Q)   ! $ $ 
,DtfMNNOOH%I&q) U+,5!%!H!HUZI[]ent!H!uGY!%!I!IE"HeU "J "DG 	l;F]E5;-0`
"0193 4<E 	 	G
 (
4$se,'-d*C)DE$j3%8 '):[MJ#9K="I"7+!G" 
 "
 	
rF    N)
__name__
__module____qualname____firstlineno__
_VALID_URL_NETRC_MACHINEri   _TESTSrx   __static_attributes__rz   rF   rC   r   r      s    WJNK  8N$!
 T
 7f( 
 T
 
 ."" "

 T
	$  &"&"  
 T
	_@FD?
rF   r   c                      ^  \ rS rSrSr/ SQrSSSSS.S	S
.SSSSS.SS
.SSS.SSS.SSS.SSSSS.S	S
.SSSSS.SS
./r\U 4S j5       rS r	S r
U =r$ )!GloboArticleIE   zNhttps?://(?!globoplay).+?\.globo\.com/(?:[^/?#]+/)*(?P<id>[^/?#.]+)(?:\.html)?)z"\bdata-video-id=["\'](\d{7,})["\']z*\bdata-player-videosids=["\'](\d{7,})["\']z \bvideosIDs\s*:\s*["\']?(\d{7,})z\bdata-id=["\'](\d{7,})["\']z <div[^>]+\bid=["\'](\d{7,})["\']z+<bs-player[^>]+\bvideoid=["\'](\d{8,})["\']z|http://g1.globo.com/jornal-nacional/noticia/2014/09/novidade-na-fiscalizacao-de-bagagem-pela-receita-provoca-discussoes.htmlzCnovidade-na-fiscalizacao-de-bagagem-pela-receita-provoca-discussoesuF   Novidade na fiscalização de bagagem pela Receita provoca discussõesz$md5:c3c4b4d4c30c32fce460040b1ac46b12)r   r   descriptionr   )r   r   playlist_countzmhttp://g1.globo.com/pr/parana/noticia/2016/09/mpf-denuncia-lula-marisa-e-mais-seis-na-operacao-lava-jato.htmlz:mpf-denuncia-lula-marisa-e-mais-seis-na-operacao-lava-jatou@   Lula era o 'comandante máximo' do esquema da Lava Jato, diz MPFz$md5:8aa7cc8beda4dc71cc8553e00b77c54c   zjhttp://gq.globo.com/Prazeres/Poder/noticia/2015/10/all-o-desafio-assista-ao-segundo-capitulo-da-serie.htmlTr#   zhttp://gshow.globo.com/programas/tv-xuxa/O-Programa/noticia/2014/01/xuxa-e-junno-namoram-muuuito-em-luau-de-zeze-di-camargo-e-luciano.htmlzWhttp://oglobo.globo.com/rio/a-amizade-entre-um-entregador-de-farmacia-um-piano-19946271zrhttps://ge.globo.com/video/ta-na-area-como-foi-assistir-ao-jogo-do-palmeiras-que-a-globo-nao-passou-10287094.ghtmlzQta-na-area-como-foi-assistir-ao-jogo-do-palmeiras-que-a-globo-nao-passou-10287094uL   Tá na Área: como foi assistir ao jogo do Palmeiras que a Globo não passouz$md5:2d089d036c4c9675117d3a56f8c61739zZhttps://redeglobo.globo.com/rpc/meuparana/noticia/a-producao-de-chocolates-no-parana.ghtmlz"a-producao-de-chocolates-no-paranau%   A produção de chocolates no Paranáz$md5:f2e3daf00ffd1dc0e9a8a6c7cfb0a89er   c                 Z   > [         R                  U5      (       a  S$ [        TU ]  U5      $ )NF)r   suitablesuper)clsr   	__class__s     rC   r   GloboArticleIE.suitable   s(    ((--uH573CC3HHrF   c                    U R                  U5      nU R                  X5      n/ nU R                   H(  nUR                  [        R
                  " XS5      5        M*     [        U5       Vs/ s H*  nU R                  SU 3[        R                  5       5      PM,     nnU R                  U5      R                  5       nU R                  SU5      n	U R                  XrX5      $ s  snf )Nzglobo:r   )re   _download_webpage_VIDEOID_REGEXESextendrefindallr
   
url_resultr   ie_key_og_search_titlestrip_html_search_metaplaylist_result)
ru   r   
display_idwebpage	video_idsvideo_regexrH   entriesr   r   s
             rC   rx   GloboArticleIE._real_extract   s    ^^C(
((9	00KRZZ=> 1 'y131 OOfXJ/1AB1 	 3 %%g.446,,]GD##GLL3s   *1C rz   )r{   r|   r}   r~   r   r   r   classmethodr   rx   r   __classcell__)r   s   @rC   r   r      s    bJ NW]A

  NWA

  | \ i DecA

  l6<A

 C)FV I IM MrF   r   )rg   r   rj   commonr   utilsr   r   r   r	   r
   r   r   r   utils.traversalr   r   r   r   rz   rF   rC   <module>r      sD     	  !	 	 	 >S
m S
lFM] FMrF   