
    V|h^                     B    S SK r SSKJr  SSKJrJrJr   " S S\5      rg)    N   )InfoExtractor   )ExtractorErrorint_or_nonetry_getc            
           \ 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0SS.SSS0SS.SSS0SS./rS"S jrS  rS!rg)#	DroobleIE   z(?x)https?://drooble\.com/(?:
        (?:(?P<user>[^/]+)/)?(?P<kind>song|videos|music/albums)/(?P<id>\d+)|
        (?P<user_2>[^/]+)/(?P<kind_2>videos|music))
    z https://drooble.com/song/2858030 5ffda90f61c7c318dc0c3df4179eb0642858030mp3Skankocillin20200801i$_95894zBluebeat Shelter)idexttitleupload_date	timestampuploader_iduploader)urlmd5	info_dictz-https://drooble.com/karl340758/videos/2859183J6QCQY_I5Tkmp4UCrSRoI5vVyeYihtWEYua7rgz$md5:ffc0bd8ba383db5341a86a6cd7d9bcca20200731)r   r   r   r   descriptionr   r   )r   r   z3https://drooble.com/karl340758/music/albums/2858031r   2858031   )r   r   playlist_mincountz$https://drooble.com/karl340758/music
karl340758z%https://drooble.com/karl340758/videosNc                     U R                  SU 3U[        R                  " U5      R                  5       S9nUS   (       d  [	        S5      eUS   $ )Nzhttps://drooble.com/api/dt/datar   z Unable to download JSON metadatar   )_download_jsonjsondumpsencoder   )selfmethodvideo_idr'   responses        R/home/james-whalen/.local/lib/python3.13/site-packages/yt_dlp/extractor/drooble.py	_call_apiDroobleIE._call_api;   sU    &&)&2H4::dCSCZCZC\ ' ^{ !CDD{    c                 z   U R                  U5      nUR                  S5      =(       d    UR                  S5      nUR                  S5      =(       d    UR                  S5      nUR                  S5      =(       d    UnUR                  S5      S:X  a
  USSS	S
SS.nOUS;   a  USSSSS.S.nOUSSS.nUS;   a  SOSnU R                  XuUS9nUS;   a  US   S   n/ n	U GH3  n
U
R                  S5      =(       d    U
R                  S5      nUR	                  S5      (       a  U	R                  SUSS.5        MZ  U
R                  S 5      =(       d    S!R                  5       S":H  nU	R                  UU
S   U
S#   [        U
R                  S$5      5      [        U
R                  S%5      5      [        U
S& 5      [        U
S' 5      [        U
S( 5      U
R                  S)5      [        U
R                  S*5      5      U(       a  S+OS U(       a  S,OS S-.5        GM6     [        U	5      S:  a  U R                  X5      $ U	S	   $ ).Nuseruser_2kindkind_2r   videos   r   new2oldvideo)	from_useralbumlimitoffsetordertype)zmusic/albumsmusicTr   )singlesalbums	playlists)r5   public_onlyindividual_limit
   old2new)url_slugchildrenrB   getMusicOverviewgetElementsr&   rE   listexternal_media_urllinkzhttps://www.youtube.comr   Youtube)_typer   ie_keyrC    audior   durationr   c                     U S   S   $ )Nr?   r    xs    r0   <lambda>)DroobleIE._real_extract.<locals>.<lambda>e   s    !G*W2Er3   c                     U S   S   $ )Ncreatordisplay_namerZ   r[   s    r0   r]   r^   f   s    Qy\.5Qr3   c                     U S   S   $ )Nr`   r   rZ   r[   s    r0   r]   r^   g   s    )T8Jr3   image_commentlikesnoner   )r   r   r   rX   r   r?   r   r   	thumbnail
like_countvcodecr   )_match_valid_urlgroupr1   get
startswithappendlowerr   r   lenplaylist_result)r,   r   mobjr5   r7   
display_idr'   r-   	json_dataentitesmediais_audios               r0   _real_extractDroobleIE._real_extractB   s   $$S)zz&!9TZZ%9zz&!9TZZ%9ZZ%-
::h8+!+b2QR]fpwxD.. WXdetuKvwD *YOD'+/H'H#mNN6DNA	,,!),V4IE))01FUYYv5FC~~788"'  
 		&)/R668GCHNNDkw'		*(=>(;)?@ (EF#E+QR&u.JK"YY7)%))G*<=$,&$ (ud  2 w<!''<<qzr3   rZ   )N)	__name__
__module____qualname____firstlineno__
_VALID_URL_TESTSr1   rw   __static_attributes__rZ   r3   r0   r
   r
      s    J
 21#%#"*
 ?#5A%*
 E)
  6,
  7,
 G)FV/r3   r
   )r)   commonr   utilsr   r   r   r
   rZ   r3   r0   <module>r      s#     ! f fr3   