U
    g                     @   sH   d dl Z ddlmZ ddlmZmZ ddlmZmZ G dd deZ	dS )	    N   )InfoExtractor   )HEADRequestRequest)ExtractorErrorurlencode_postdatac                   @   s0   e Zd ZdZdZddddddd	Zd
d ZdS )HotNewHipHopIEFz9https?://(?:www\.)?hotnewhiphop\.com/.*\.(?P<id>.*)\.htmlzGhttp://www.hotnewhiphop.com/freddie-gibbs-lay-it-down-song.1435540.htmlZ 2c2cd2f76ef11a9b3b581e8b232f3d96Z1435540Zmp3zFreddie Gibbs - Lay It Down)idexttitle)urlmd5Z	info_dictc                 C   s   |  |}| ||}| jd|dd d}|d krL| d|d}| j|ddS tdd	|fg}td
|d}d|jd< | j||ddd}d|krtdt	
|d}	t|	}
| j|
|ddd}|j}|drtd| | }|||| |dS )Nzdata-path="(.*?)"z	video URL)defaultz"contentUrl" content="(.*?)"zcontent URLZYoutube)Zie)Z	mediaTypesZmediaIdz2http://www.hotnewhiphop.com/ajax/media/getActions/)dataz!application/x-www-form-urlencodedzContent-TypezRequesting media keyzCould not download media key)ZnoteZerrnoteZmediaKeyzDid not get a media keyzutf-8zResolving final URLzCould not resolve final URLz.htmlzRedirect failed)r
   r   r   Z	thumbnail)Z	_match_idZ_download_webpageZ_search_regexZ
url_resultr   r   headersZ_download_jsonr   base64	b64decodedecoder   Z_request_webpager   endswithZ_og_search_titlestripZ_og_search_thumbnail)selfr   Zvideo_idZwebpageZvideo_url_base64Z	video_urlZreqdatarZmkdZredirect_urlZredirect_reqreqZvideo_title r   A/tmp/pip-unpacked-wheel-q5ljy6pj/yt_dlp/extractor/hotnewhiphop.py_real_extract   sb    
      
    
zHotNewHipHopIE._real_extractN)__name__
__module____qualname__Z_WORKINGZ
_VALID_URLZ_TESTr   r   r   r   r   r	      s   
r	   )
r   commonr   Z
networkingr   r   utilsr   r   r	   r   r   r   r   <module>   s   