
    V|h                     |    S SK Jr  SSKJrJrJr   " S S\5      r " S S\5      r " S S	\5      r " S
 S\5      r	g)   )InfoExtractor   )int_or_nonestr_or_nonetry_getc                   8    \ rS rSrSrSrSrS rS rS r	S r
S	rg
)PalcoMP3BaseIE	   z%{
  artist(slug: "%s") {
    %s
  }
}z#music(slug: "%%s") {
      %s
    }zFduration
      hls
      mp3File
      musicID
      plays
      titlec                 J    U R                  SUSU R                  X4-  0S9S   $ )Nz$https://www.palcomp3.com.br/graphql/query)r   data)_download_json_GQL_QUERY_TMPL)selfartist_slugartist_fieldss      S/home/james-whalen/.local/lib/python3.13/site-packages/yt_dlp/extractor/palcomp3.py	_call_apiPalcoMP3BaseIE._call_api   sB    ""2K--0LLH #   	    c           	      L   [        US   5      nUS   n/ nUR                  S5      nU(       a  UR                  USSS.5        UR                  S5      nU(       a  UR                  SU05        UUU[        UR                  S	5      5      [        UR                  S
5      5      S.$ )NmusicIDtitlehlsm3u8_nativemp4)urlprotocolextmp3Filer   durationplays)idr   formatsr!   
view_count)strgetappendr   )r   musicmusic_idr   r$   hls_urlmp3_files          r   _parse_musicPalcoMP3BaseIE._parse_music   s    uY'(g))E"NN) 
 99Y'NNx 
 #EIIj$9:%eii&89
 	
r   c                 @    U R                   U R                  -  U l         g )N)_ARTIST_FIELDS_TMPL_MUSIC_FIELDS)r   s    r   _real_initializePalcoMP3BaseIE._real_initialize9   s    #'#;#;d>P>P#P r   c                     U R                  U5      R                  5       u  p#U R                  U-  nU R                  X$5      S   S   nU R	                  U5      $ )Nartistr)   )_match_valid_urlgroupsr0   r   r-   )r   r   r   
music_slugr   r)   s         r   _real_extractPalcoMP3BaseIE._real_extract<   sW    "&"7"7"<"C"C"E00:={:8DWM  ''r   )r0   N)__name__
__module____qualname____firstlineno__r   r0   r1   r   r-   r2   r9   __static_attributes__ r   r   r	   r	   	   s-    O
	M
4Q(r   r	   c                   T   ^  \ rS rSrSrSrSSSSSS	\S
.S./r\U 4S j5       r	Sr
U =r$ )
PalcoMP3IEC   zPalcoMP3:songzLhttps?://(?:www\.)?palcomp3\.com(?:\.br)?/(?P<artist>[^/]+)/(?P<id>[^/?&#]+)zQhttps://www.palcomp3.com/maiaraemaraisaoficial/nossas-composicoes-cuida-bem-dela/ 99fd6405b2d8fd589670f6db1ba3b3583162927mp3u%   Nossas Composições - CUIDA BEM DELA   )r#   r   r   r!   r%   )r   md5	info_dictc                 Z   > [         R                  U5      (       a  S$ [        TU ]  U5      $ NF)PalcoMP3VideoIEsuitablesuperclsr   	__class__s     r   rM   PalcoMP3IE.suitableR   s(    '0055uP57;KC;PPr   r@   )r;   r<   r=   r>   IE_NAME
_VALID_URLint_TESTSclassmethodrM   r?   __classcell__rQ   s   @r   rB   rB   C   sI    G`Jb1<

 
F Q Qr   rB   c                   X   ^  \ rS rSrSrSrSSSS.SS	./rS
r\U 4S j5       r	S r
SrU =r$ )PalcoMP3ArtistIEW   zPalcoMP3:artistz:https?://(?:www\.)?palcomp3\.com(?:\.br)?/(?P<id>[^/?&#]+)z)https://www.palcomp3.com.br/condedoforro/358396u   Conde do Forró)r#   r      )r   rI   playlist_mincountzEartistID
    musics {
      nodes {
        %s
      }
    }
    namec                 Z   > [         R                  U5      (       a  S$ [        TU ]  U5      $ rK   )rB   r6   rN   rM   rO   s     r   rM   PalcoMP3ArtistIE.suitablej   s(    "33C88uSeg>Ns>SSr   c                    ^ ^ T R                  U5      nT R                  UT R                  5      S   mUU 4S jnT R                  U" 5       [	        TR                  S5      5      TR                  S5      5      $ )Nr5   c               3   x   >#    [        TS [        5      =(       d    /  H  n TR                  U 5      v   M     g 7f)Nc                     U S   S   $ )Nmusicsnodesr@   )xs    r   <lambda>APalcoMP3ArtistIE._real_extract.<locals>.entries.<locals>.<lambda>s   s    AhK4Hr   )r   listr-   )r)   r5   r   s    r   entries/PalcoMP3ArtistIE._real_extract.<locals>.entriesr   s5     !&*H$OUSUU''.. Vs   7:artistIDname)	_match_idr   r0   playlist_resultr   r'   )r   r   r   rk   r5   s   `   @r   r9   PalcoMP3ArtistIE._real_extractn   sh    nnS)T-E-EFxP	/ ##I{6::j#9:FJJv<NP 	Pr   r@   )r;   r<   r=   r>   rS   rT   rV   r0   rW   rM   r9   r?   rX   rY   s   @r   r[   r[   W   sV    GNJ:&
 ! F T T	P 	Pr   r[   c            
       F    \ rS rSrSrSrSS/SSSS	S
SSS.S./rSrS rSr	g)rL   z   zPalcoMP3:videozThttps?://(?:www\.)?palcomp3\.com(?:\.br)?/(?P<artist>[^/]+)/(?P<id>[^/?&#]+)/?#clipezohttps://www.palcomp3.com/maiaraemaraisaoficial/maiara-e-maraisa-voce-faz-falta-aqui-ao-vivo-em-vicosa-mg/#clipeYoutube_pD1nR2qqPgr   uE   Maiara e Maraisa - Você Faz Falta Aqui - DVD Ao Vivo Em Campo Grandez$md5:7043342c09a224598e93546e98e4928220161107maiaramaraisaoficialzMaiara e Maraisa)r#   r   r   descriptionupload_dateuploader_iduploader)r   add_ierI   	youtubeIDc                 2    US   nU R                  USU5      $ )Nr}   rt   )
url_result)r   r)   
youtube_ids      r   r-   PalcoMP3VideoIE._parse_music   s    ;'
z9jAAr   r@   N)
r;   r<   r=   r>   rS   rT   rV   r1   r-   r?   r@   r   r   rL   rL   z   sJ    GhJ A+\A%1*
 F  MBr   rL   N)
commonr   utilsr   r   r   r	   rB   r[   rL   r@   r   r   <module>r      sJ    ! 7(] 7(tQ Q( P~  PFBn Br   