
    V|h                     B    S SK r S SKrSSKJr  SSKJr   " S S\5      rg)    N   )InfoExtractor   )ExtractorErrorc                       \ rS rSrSrS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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S( rS)rg*)+EightTracksIE
   8tracksz=https?://8tracks\.com/(?P<user>[^/]+)/(?P<id>[^/#]+)(?:#.*)?$EightTracksz0http://8tracks.com/ytdl/youtube-dl-test-tracks-a1336550zyoutube-dl-test-tracks-au   test chars:  "'/\ä↭u"   youtube-dl test tracks "'/\ä↭<>)id
display_iddescriptiontitle 96ce57f24389fc8734ce47f4c1abcc5511885610m4au9   youtue-dl project<>"' - youtube-dl test track 1 "'/\ä↭ytdl)r   extr   uploader_id)md5	info_dict 4ab26f05c1f7291ea460a3920be8021f11885608u6   youtube-dl project - youtube-dl test track 2 "'/\ä↭ d30b5b5f74217410f4689605c35d1fd711885679u>   youtube-dl project as well - youtube-dl test track 3 "'/\ä↭ 4eb0a669317cd725f6bbd336a29f923a11885680u>   youtube-dl project as well - youtube-dl test track 4 "'/\ä↭ 1893e872e263a2705558d1d319ad19e811885682u&   PH - youtube-dl test track 5 "'/\ä↭ b673c46f47a216ab1741ae8836af589911885683u&   PH - youtube-dl test track 6 "'/\ä↭ 1d74534e95df54986da7f5abf7d842b711885684u*   phihag - youtube-dl test track 7 "'/\ä↭ f081f47af8f6ae782ed131d38b9cd1c011885685u*   phihag - youtube-dl test track 8 "'/\ä↭)nameurlr   playlistc                 <   U R                  U5      nU R                  X5      nU R                  U R                  SUS5      U5      n[	        [
        R                  " SS5      5      nUS   nUS   nUS   n[        U5      U-  n	U	S::  a  Sn	S	U S
U S3n
U
n/ n[        U5       H  nS nSnUc   U R                  XSUS-   U4-  SS9nUc  M  [        R                  " U5      nUS   S   n[	        US   5      US   US   S-   US   -   US   US   S   SS.nUR                  U5        SR                  XVUS   5      nM     SU[	        U5      UUR                  S5      UR                  S5      S.$ ! [         a     US:  a  e US-  nU R                  X5         Nf = f)Nz(?s)PAGE\.mix\s*=\s*({.+?});\nztrax informationr   i ʚ;r   tracks_countdurationi,  zhttp://8tracks.com/sets/z/play?player=sm&mix_id=z&format=jsonhz"Downloading song information %d/%dr   z#Failed to download song information)noteerrnote   settracktrack_file_stream_url	performerz - r'   userloginr   )r   r(   r   	raw_titler   r   zLhttp://8tracks.com/sets/{}/next?player=sm&mix_id={}&format=jsonh&track_id={}r)   r   )_typeentriesr   r   r   r   )	_match_id_download_webpage_parse_json_search_regexstrrandomrandintfloatranger   _sleepjsonloadsappendformatget)selfr(   playlist_idwebpagedatasessionmix_idtrack_countr,   avg_song_duration	first_urlnext_urlr8   iapi_jsondownload_triesapi_data
track_datainfos                      V/home/james-whalen/.local/lib/python3.13/site-packages/yt_dlp/extractor/eighttracks.py_real_extractEightTracksIE._real_extractb   s   nnS)((:17<NP
 fnnQ
34d>*
#!(Ok9! #.wi7NvhVcd	{#AHN"
D#55 AQUKDXX E  6  GH " zz(+H!%1J*T*+!"9:#K058:f;MM'/#F|G4D NN4 ellD!13H; $@  f+%XXf%88M2
 	
+ & D%)&!+$5CDs   .E11'FF N)	__name__
__module____qualname____firstlineno__IE_NAME
_VALID_URL_TESTrY   __static_attributes__r[       rX   r   r   
   s   GQJA45;	
 :$ b#)	 :$ ^#)	 :$ f#)	 :$ f#)	 :$ N#)	 :$ N#)	 :$ R#)	 :$ R#)	AI
SEj<
rd   r   )rC   r>   commonr   utilsr   r   r[   rd   rX   <module>rg      s!      !
T
M T
rd   