
    VGh[                         d dl Z ddlmZ ddlmZ ddlmZmZmZm	Z	 ddl
mZ  G d d	e      Z G d
 de      Z G d de      Zy)    N   )InfoExtractor)	YoutubeIE   )int_or_noneparse_iso8601str_or_noneurl_or_none)traverse_objc                   *    e Zd ZddddZd Zd Zd Zy)	
EggsBaseIEz*/*z8.2.00Android)Accept	apVersion
deviceNamec                 H    t        j                  d      | j                  d<   y )N   deviceId)secrets	token_hex_API_HEADERS)selfs    ^/var/www/it7/html/youtubeDownloader/venv/lib/python3.12/site-packages/yt_dlp/extractor/eggs.py_real_initializezEggsBaseIE._real_initialize   s    (/(9(9!(<*%    c                 D    | j                  d| || j                        S )Nz!https://app-front-api.eggs.mu/v1/)headers)_download_jsonr   )r   endpointvideo_ids      r   	_call_apizEggsBaseIE._call_api   s/    ""/z:H%% # ' 	'r   c                     t        |dt        hf      x}r| j                  |t              S t        |ddt        hf      }t        |dt        hf      }d }|r
|rd| d| }|d|t
        j                         t
        j                  d	t        |d
t        hfdt        hfddt        hfddt        hfdt        hfdt        hfdt        hfdt        hfdt        ht        fddt        hfdt        hfddt        hfd      S )N
youtubeUrl)ieartist
artistNamemusicIdzhttps://eggs.mu/artist/z/song/none)idvcodecwebpage_urlextractor_key	extractor
musicTitlemusicDataPathdisplayNameartistIdimageDataPathnumberOfMusicPlaysnumberOfLikesnumberOfCommentscomposertags.releaseDate)titleurluploaderuploader_id	thumbnail
view_count
like_countcomment_count	composersr7   	timestampr%   )r   r
   
url_resultr   r	   EggsIEie_keyIE_NAMEstrr   allr   )r   datayt_urlartist_namemusic_idr+   s         r   _extract_music_infozEggsBaseIE._extract_music_info   s/   !$}(EFF6F??6i?88"4(L;-)PQy;-&@A83K=xjQK &#]]_ 4&.'+7%}se< (*{mD-}=3k]C.>"4{m!D(3%5se,+m_=#]SE:"  	r   N)__name__
__module____qualname__r   r   r!   rM    r   r   r   r      s!    L='
r   r   c                       e Zd ZdZdZddddddd	ed
dgeedgdddgdddi dddddddddddddeddd d!d"d#d$d%d&d'd(ed)d*d+ed,d-d.edd/d0g d1d2d3gd4d5gd6d5id7gZd8 Zy9):rD   zeggs:singlez7https?://eggs\.mu/artist/[^/?#]+/song/(?P<id>[\da-f-]+)zNhttps://eggs.mu/artist/32_sunny_girl/song/0e95fd1d-4d61-4d5b-8b18-6092c551da90z$0e95fd1d-4d61-4d5b-8b18-6092c551da90m4au   シネマと信号
Sunny Girlzre:https?://.*\.jpg(?:\?.*)?$1607i_1gu   橘高連太郎20241111	SunnyGirl)r)   extr9   r;   r=   r<   r?   rB   rA   r>   r@   artistsupload_dater7   )r:   	info_dictzLhttps://eggs.mu/artist/KAMO_3pband/song/1d4bc45f-1af6-47a9-8b30-a70cae350b4fr)   80cLKA2wnoArX   mp4r9   u!   KAMO「いい女だから」Audior;   KAMOlive_statusnot_live
channel_idUCsHLBw2__5Q9y55skXPotOgchannel_follower_countdescriptionz$md5:d260da711ecbec3e720293dc11401b87availabilitypublicr<   z
@KAMO_bandrZ   20240925r=   z4https://i.ytimg.com/vi/80cLKA2wnoA/maxresdefault.jpgr@   channel_urlz8https://www.youtube.com/channel/UCsHLBw2__5Q9y55skXPotOgr>   duration   r?   Tz"https://www.youtube.com/@KAMO_bandifr   zPeople & Blogs)channelplayable_in_embeduploader_urlr7   rB   	age_limit
categoriesYoutubeskip_download)r:   r[   add_ieparamsc                 p    | j                  |      }| j                  d| |      }| j                  |      S )Nzmusics/)	_match_idr!   rM   )r   r:   song_id	json_datas       r   _real_extractzEggsIE._real_extracts   s8    ..%NNWWI#6@	''	22r   N)rN   rO   rP   rF   
_VALID_URLint_TESTSrx   rQ   r   r   rD   rD   =   si   GKJ `8)$9!#+, $~% "67
& ^
-
5
 8
 	

 :
 4
 %c
 A
 H
 <
 :
 O
 S
 U
 #
  !
" ##
$ !%@#+,1
4 +"I.;%0Fd3r   rD   c                   F    e Zd ZdZdZddddddd	d
dddddddd
gZd Zy)EggsArtistIEzeggs:artistz1https?://eggs\.mu/artist/(?P<id>\w+)/?(?:[?#&]|$)z$https://eggs.mu/artist/32_sunny_girl32_sunny_girlzXhttps://image-pro.eggs.mu/profile/1607.jpeg?updated_at=2024-04-03T20%3A06%3A00%2B09%3A00ux   Muddy Mine / 東京高田馬場CLUB PHASE / Gt.Vo 橘高 連太郎 / Ba.Cho 小野 ゆうき / Dr 大森 りゅうひこrT   )r)   r=   rd   r9      )r:   r[   playlist_mincountz"https://eggs.mu/artist/KAMO_3pbandKAMO_3pbandu   川崎発３ピースバンドzYhttps://image-pro.eggs.mu/profile/35217.jpeg?updated_at=2024-11-27T16%3A31%3A50%2B09%3A00r^   )r)   rd   r=   r9   r   c                 &   | j                  |      }| j                  d| |      }| j                  d| d|      } | j                  t        |ddt        h| j
                  hf      fd|it        |dt        hfdt        hfdt        hfd	      S )
Nzartists/z/musicsrI   .playlist_idr0   profiler2   )r9   rd   r=   )ru   r!   playlist_resultr   dictrM   rG   r
   )r   r:   	artist_idartist_data	song_datas        r   rx   zEggsArtistIE._real_extract   s    NN3'	nnx	{%;YGNNXi[#@)L	#t##VS4&4;S;S:T$UV!%1+'#/ )C51-}=@ & 	r   N)rN   rO   rP   rF   ry   r{   rx   rQ   r   r   r}   r}   y   s[    GEJ 6!s V!	
  	 4;t	
 	F(
r   r}   )r   commonr   youtuber   utilsr   r   r	   r
   utils.traversalr   r   rD   r}   rQ   r   r   <module>r      sC     !   +, ,^93Z 93x": "r   