
    VGh#                         d dl Z d dlZd dlZddlmZ ddlmZmZmZm	Z	m
Z
mZmZmZ ddlmZmZ  G d de      Z G d	 d
e      Zy)    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                       e Zd ZdZdZdZdddddd	d
dddidddddddddddiddddddddddddddd 	ddidd!d"dd#ddd$d%d&d'd(d)
ddidgZd* Zy+),GloboIEzC(?: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                    | j                  |      }| j                  d|dt        j                  d|i      | j                  dddddd	
      d   d   }g }| j                  d|d| ddit        j                  t        d|ddt        j                          dddidt        | j                  d      d       dd
            j                               }t        |ddt        hf      r| j                  |       |d   d   }t        |d          d!k(  r| j                  |d    |d"#      \  }}n| j!                  |d    |d$d%&      \  }}| j#                  t        |d'd(d)d d*d t$        hfit&        t)        d+,      hf      |-       d.|it        |d/t*        hfd0t-        d12      hfd3d/t*        hfd3d4t.        hfd5t0        hfd6t0        hfd7      ||d8S )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)r3   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                 &    d| d   j                    S )NzBearer GLBID)value)xs    _/var/www/it7/html/youtubeDownloader/venv/lib/python3.12/site-packages/yt_dlp/extractor/globo.py<lambda>z'GloboIE._real_extract.<locals>.<lambda>   s    WQwZ=M=M<N3O     r   )
player_typevideo_idqualitycontent_protectionvsidconsumptioncapabilitiestzAuthorizationversion)r6   r7   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   rF   inforb   r8   main_sourcer)   s           rB   _real_extractzGloboIE._real_extractg   sf   >>#&""4h!/!ZZH(=>))
 !3!&($/	 #     ##?,XJ7#%78K0$ &0::<.*!. 5!():):;N)O)O"Q)   ! $ $ 
,DtfMNOOH%I&q) U+,5!%!H!HUZI[]ent!H!uGY!%!I!IE"HeU "J "DGY 	l;F]E5;-0`
"0193 4<E 	 	G
 (
4$se,'-d*C)DE$j3%8 '):[MJ#9K="I"7+!G" 
 "
 	
rD   N)__name__
__module____qualname__
_VALID_URL_NETRC_MACHINErg   _TESTSrv    rD   rB   r   r      s    WJNK  8N$!
 T
 7f( 
 T
 
 ."" "

 T
	$  &"&"  
 T
	_@FD?
rD   r   c                        e Zd ZdZg d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d	gZe fd       Zd Z xZ	S )GloboArticleIEzNhttps?://(?!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                 P    t         j                  |      rdS t        |   |      S )NF)r   suitablesuper)clsr   	__class__s     rB   r   zGloboArticleIE.suitable   s%    ((-uH573CC3HHrD   c                    | j                  |      }| j                  ||      }g }| j                  D ]'  }|j                  t	        j
                  ||             ) t        |      D cg c])  }| j                  d| t        j                               + }}| j                  |      j                         }| j                  d|      }	| j                  ||||	      S c c}w )Nzglobo:r   )rc   _download_webpage_VIDEOID_REGEXESextendrefindallr
   
url_resultr   ie_key_og_search_titlestrip_html_search_metaplaylist_result)
rs   r   
display_idwebpage	video_idsvideo_regexrF   entriesr   r   s
             rB   rv   zGloboArticleIE._real_extract   s    ^^C(
((j9	00 	?KRZZW=>	? 'y13 OOfXJ/1AB3 3 %%g.446,,]GD##GZLL3s   ).C)
rw   rx   ry   rz   r   r|   classmethodr   rv   __classcell__)r   s   @rB   r   r      s    bJ NW]A

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

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

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

 C)FV I IMrD   r   )re   r   rh   commonr   utilsr   r   r   r	   r
   r   r   r   utils.traversalr   r   r   r   r}   rD   rB   <module>r      sD     	  !	 	 	 >S
m S
lFM] FMrD   