U
    ‹¾úg•  ã                   @   s@   d dl Z ddlmZ ddlmZmZmZmZ G dd„ deƒZdS )é    Né   )ÚInfoExtractoré   )Údetermine_extÚint_or_noneÚ	qualitiesÚunescapeHTMLc                
   @   s>   e Zd ZdZdddddddd	d
dœdœdddœgZdd„ ZdS )ÚGiantBombIEzXhttps?://(?:www\.)?giantbomb\.com/(?:videos|shows)/(?P<display_id>[^/]+)/(?P<id>\d+-\d+)zLhttp://www.giantbomb.com/videos/quick-look-destiny-the-dark-below/2300-9782/Z 132f5a803e7e0ab0e274d84bda1e77aez	2300-9782z!quick-look-destiny-the-dark-belowÚmp4z#Quick Look: Destiny: The Dark Belowz$md5:0aa3aaf2772a41b91d44c63f30dfad24i_	  zre:^https?://.*\.jpg$)ÚidÚ
display_idÚextÚtitleÚdescriptionÚdurationÚ	thumbnail)ÚurlÚmd5Z	info_dictz8https://www.giantbomb.com/shows/ben-stranding/2970-20212T)r   Zonly_matchingc                 C   sZ  |   |¡}| d¡}| d¡}|  ||¡}|  |¡}|  |¡}|  |¡}t t|  	d|d¡ƒ¡}	t
|	 d¡ƒ}
tdddd	d
dgƒ}g }|	d  ¡ D ]\}}|dkr¤q’t|ƒ}|dkrä|  |d |¡}|râ||ƒ|d d< | |¡ q’|dkr| | j||ddddd¡ q’| ||||ƒdœ¡ q’|sF|	 d¡}|rF|  |d¡S ||||||
|dœS )Nr   r   zdata-video="([^"]+)"z
data-videoZlengthSecondsZf4m_lowZprogressive_lowZf4m_highZprogressive_highZf4m_hdZprogressive_hdZvideoStreamsZ
f4m_streamZf4mz?hdcore=3.3.1r   ÚqualityZm3u8r
   Zm3u8_nativeZhlsF)r   Zentry_protocolZm3u8_idÚfatal)r   Ú	format_idr   Z	youtubeIDZYoutube)r   r   r   r   r   r   Úformats)Z_match_valid_urlÚgroupZ_download_webpageZ_og_search_titleZ_og_search_descriptionZ_og_search_thumbnailÚjsonÚloadsr   Z_search_regexr   Úgetr   Úitemsr   Z_extract_f4m_formatsÚextendZ_extract_m3u8_formatsÚappendZ
url_result)Úselfr   ZmobjZvideo_idr   Zwebpager   r   r   Úvideor   r   r   r   Z	video_urlr   Zf4m_formatsZ
youtube_id© r!   ú>/tmp/pip-unpacked-wheel-q5ljy6pj/yt_dlp/extractor/giantbomb.pyÚ_real_extract   sr    






  ÿ    þ
    þ
ý

ùzGiantBombIE._real_extractN)Ú__name__Ú
__module__Ú__qualname__Z
_VALID_URLZ_TESTSr#   r!   r!   r!   r"   r	      s"   ùýþôr	   )	r   Úcommonr   Úutilsr   r   r   r   r	   r!   r!   r!   r"   Ú<module>   s   