o
    i0	                     @   s8   d dl Z ddlmZ G dd deZG dd deZdS )    N   )InfoExtractorc                   @   s4   e Zd ZdZdZddddddd	d
dZdd ZdS )SoundgasmIE	soundgasmz[https?://(?:www\.)?soundgasm\.net/u/(?P<user>[0-9a-zA-Z_-]+)/(?P<display_id>[0-9a-zA-Z_-]+)z(http://soundgasm.net/u/ytdl/Piano-sample 010082a2c802c5275bb00030743e75ad(88abd86ea000cafe98f96321b23cc1206cbcbcc9m4azPiano samplezRoyalty Free Sample Musicytdl)idexttitledescriptionuploader)urlmd5	info_dictc           	   	   C   s   |  |}|d}| ||}| jd|ddd}| jd|d|d}| jd	|d
dd}| jd|d|d}|||d|||ddS )N
display_idz,(?s)m4a\s*:\s*(["\'])(?P<url>(?:(?!\1).)+)\1z	audio URLr   )groupz+<div[^>]+\bclass=["\']jp-title[^>]+>([^<]+)r   )default)z9(?s)<div[^>]+\bclass=["\']jp-description[^>]+>(.+?)</div>z!(?s)<li>Description:\s(.*?)<\/li>r   F)fatalz/([^/]+)\.m4azaudio idnoneuser)r
   r   r   vcodecr   r   r   )_match_valid_urlr   _download_webpage_html_search_regex_search_regex)	selfr   mobjr   webpage	audio_urlr   r   audio_id r"   N/home/ubuntu/.local/lib/python3.10/site-packages/yt_dlp/extractor/soundgasm.py_real_extract   s4   

zSoundgasmIE._real_extractN__name__
__module____qualname__IE_NAME
_VALID_URL_TESTr$   r"   r"   r"   r#   r      s    r   c                   @   s,   e Zd ZdZdZdddiddZdd	 Zd
S )SoundgasmProfileIEzsoundgasm:profilez=https?://(?:www\.)?soundgasm\.net/u/(?P<id>[^/]+)/?(?:\#.*)?$zhttp://soundgasm.net/u/ytdlr
   r	   r   )r   r   playlist_countc                    sD     |} ||} fddtd| d|D } ||S )Nc                    s   g | ]}  |d qS )	Soundgasm)
url_result).0r    r   r"   r#   
<listcomp>F   s    
z4SoundgasmProfileIE._real_extract.<locals>.<listcomp>zhref="([^"]+/u/z/[^"]+))	_match_idr   refindallplaylist_result)r   r   
profile_idr   entriesr"   r1   r#   r$   A   s   

z SoundgasmProfileIE._real_extractNr%   r"   r"   r"   r#   r,   6   s    r,   )r4   commonr   r   r,   r"   r"   r"   r#   <module>   s    0