U
    g
                     @   sP   d dl mZ ddlmZmZmZmZmZmZm	Z	m
Z
mZmZ G dd deZdS )   )InfoExtractor   )
float_or_noneint_or_nonejoin_nonempty
orderedSetparse_iso8601parse_qsparse_resolutionstr_or_nonetraverse_objurl_or_nonec                   @   s   e Zd ZdZddddddddd	d
dddgdgddddddddddddddgdgdddd d!d"d#dd$d%d&dd'd(d)gd*d+d,dd-	dgZeed.d/d0Zed1d2 Zd3d4 Z	d5S )6EpidemicSoundIEzchttps?://(?:www\.)?epidemicsound\.com/(?:(?P<sfx>sound-effects/tracks)|track)/(?P<id>[0-9a-zA-Z-]+)z/https://www.epidemicsound.com/track/yFfQVRpSPz/Z d98ff2ddb49e8acab9716541cbc9dfacZ45014Z
yFfQVRpSPzZmp3zDoor Knock Door 1ZfoleyZdoorZknockZglassZwindowzglass door knockz
Misc. Doorr   zghttps://cdn.epidemicsound.com/curation-assets/commercial-release-cover-images/default-sfx/3000x3000.jpgi!\TZ20141107)id
display_idexttitle	alt_titletags
categoriesduration	thumbnail	timestampupload_date)urlmd5Z	info_dictz/https://www.epidemicsound.com/track/mj8GTTwsZd/Z c82b745890f9baf18dc2f8d568ee3830Z148700Z
mj8GTTwsZdZNoplacezliquid drum n bassZ	energeticzdrum and bass   irdzahttps://cdn.epidemicsound.com/curation-assets/commercial-release-cover-images/11138/3000x3000.jpgZ20230911i6\eZ20231121)r   r   r   r   r   r   r   r   r   r   release_timestampZrelease_datezXhttps://www.epidemicsound.com/sound-effects/tracks/2f02f54b-9faa-4daf-abac-1cfe9e9cef69/Z 35d7cf05bd8b614a84f0495a05de9388Z208931Z20240603iq ^fZ	applianceZ
6b2NXLURPrg      ?zOven, Grill, Door Open 01)	r   r   r   r   r   r   r   r   r   r   c                 C   sB   t | sd S d| it| thddthfddthfdfp>t| S )Nr   width    height)r   r!   )r   r   r	   r   r
   r    r"   B/tmp/pip-unpacked-wheel-q5ljy6pj/yt_dlp/extractor/epidemicsound.py_epidemic_parse_thumbnailC   s     


z)EpidemicSoundIE._epidemic_parse_thumbnailc                 C   sx   |  ds|  d| d< n|  ds0| d | d< | d r@| d sDd S |  dr`d| d  | d< | d dkrtd| d< | S )	Nformat	format_idr   format_notez	track ID fullZ
preference)get)fr"   r"   r#   _epidemic_fmt_or_noneP   s    


z%EpidemicSoundIE._epidemic_fmt_or_nonec                    s,  |  |dd\}}| td|o$d|dd|}t|dg t|dd	thf}|rp t|dd
d|jhf t|dthfdt	hfdt	hfdt	hfdt
hfdthfdthfdddt	hfddt	hfddd hf fddhthd| jhfdtjhddthfddthfddt	hfddthfd| jhfd S )!Nr   Zsfxz(https://www.epidemicsound.com/json/trackz	kosmos-id/)delim)ZimageUrlZcoverZcoverArtZbaseUrlZsizes.Z
publicSlugr   ZoldTitlelengthaddedZreleaseDateZgenrestagZmetadataTagsZ
isExplicitc                 S   s   | rdS d S )N   r"   )br"   r"   r#   <lambda>t       z/EpidemicSoundIE._real_extract.<locals>.<lambda>c                    s    S )Nr"   )_
thumbnailsr"   r#   r4   u   r5   Zstemsr    r   Z	s3TrackIdZstemTypeZlqMp3Url)r%   r'   r&   r   )r   r   r   r   r   r   r   r   r   Z	age_limitr8   formats)Z_match_valid_urlgroupZ_download_jsonr   r   r   extend__add__r   strr   r   r   r$   dictitemsr,   )selfr   Zvideo_idZis_sfxZ	json_dataZthumb_base_urlr"   r7   r#   _real_extract^   sN         




zEpidemicSoundIE._real_extractN)
__name__
__module____qualname__Z
_VALID_URLZ_TESTSstaticmethodr=   r$   r,   rA   r"   r"   r"   r#   r      sf   1
r   N)commonr   utilsr   r   r   r   r   r	   r
   r   r   r   r   r"   r"   r"   r#   <module>   s   0