
    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   )extract_attributesget_element_by_attributeint_or_nonec                   X    \ rS rSrSrSSSSSSS	S
SS\\/ SQS.S.SSS.SSS./rS rSrg)SampleFocusIE   z<https?://(?:www\.)?samplefocus\.com/samples/(?P<id>[^/?&#]+)z7https://samplefocus.com/samples/lil-peep-sad-emo-guitar 48c8d62d60be467293912e0e619a512040316zlil-peep-sad-emo-guitarmp3zLil Peep Sad Emo Guitarzre:^https?://.+\.pngzStandard LicenseCapsCtrlcapsctrl)SamplesGuitarzElectric guitar)id
display_idexttitle	thumbnaillicenseuploaderuploader_id
like_countcomment_count
categories)urlmd5	info_dictz5https://samplefocus.com/samples/dababy-style-bass-808T)r   only_matchingz/https://samplefocus.com/samples/young-chop-kickc                 l  ^ ^ T R                  U5      nT R                  XSS9mT R                  STSSS9nT R                  TSS9=(       d    T R	                  S	TS
5      nT R                  STSSSS9=(       d    [        T R                  STSSS95      S   nT R                  T5      =(       d    T R	                  STSSSS9n/ n[        R                  " ST5       H  u  pn
UR                  U	UU
S.5        M     S =p[        R                  " ST5      nU(       a  UR                  5       u  p[        SST5      n/ nU(       a2  [        R                  " SU5       H  u  nnUR                  U5        M     U U4S jnUUUSSSSU0S./UUUT R	                  STSSSS9UU" S U S!35      U" S"5      UUS#.$ )$NT)impersonatez?<input[^>]+id=(["\'])sample_id\1[^>]+value=(?:["\'])(?P<id>\d+)z	sample idr   )groupFfatalz<h1>(.+?)</h1>r   zH<input[^>]+id=(["\'])sample_mp3\1[^>]+value=(["\'])(?P<url>(?:(?!\2).)+)r   r   )r&   r$   z,<meta[^>]+itemprop=(["\'])contentUrl\1[^>]*>zmp3 urlr   contentzT<img[^>]+class=(?:["\'])waveform responsive-img[^>]+src=(["\'])(?P<url>(?:(?!\1).)+)zt(?s)<p[^>]+class="comment-author"><a[^>]+href="/users/([^"]+)">([^"]+)</a>.+?<p[^>]+class="comment-body">([^>]+)</p>)author	author_idtextz->By <a[^>]+href="/users/([^"]+)"[^>]*>([^<]+)typeofBreadcrumbListz-<span[^>]+property=(["\'])name\1[^>]*>([^<]+)c           	      B   > [        TR                  SU  S3TU SS95      $ )Nz<span[^>]+class=(?:["\'])?z-count[^>]*>(\d+)Fr%   )r   _html_search_regex)klassselfwebpages    V/home/james-whalen/.local/lib/python3.13/site-packages/yt_dlp/extractor/samplefocus.pyextract_count2SampleFocusIE._real_extract.<locals>.extract_countM   s6    t66-eW4EFe  7  - . .    noneReferer)r   r   vcodecacodechttp_headersz6<a[^>]+href=(["\'])/license\1[^>]*>(?P<license>[^<]+)<r   zsample-z
-favoritescomments)r   r   formatsr   r   r   r   r   r   r   r;   r   )	_match_id_download_webpage_search_regex_og_search_titler.   r   _og_search_thumbnailrefindallappendsearchgroupsr   )r0   r   r   	sample_idr   mp3_urlr   r;   r)   r(   bodyr   r   mobj
breadcrumbr   _namer3   r1   s   `                  @r2   _real_extractSampleFocusIE._real_extract%   sA   ^^C(
((d(K&&N[ ' .	 %%gU%; 1t?V?Vw@1 $$WU%u % 6 99KDL^L^?! M_ M- :..7:9 	 --g6 6$:Q:QcU%u ;R ;6	 ')zz  3j  ls  (t#ItOO &  (t "&%yyI7S$(KKM!K-h8H'R

::&VXbc4!!$' d	.  s!  %" ..I%y / B ''')J(GH*:6 $-
 	
r5    N)	__name__
__module____qualname____firstlineno__
_VALID_URLint_TESTSrN   __static_attributes__rP   r5   r2   r
   r
      sa    PJH13.0)"% B
" G A'F0D
r5   r
   )rB   commonr   utilsr   r   r   r
   rP   r5   r2   <module>r[      s#    	 ! ^
M ^
r5   