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   )ExtractorErrorformat_fieldint_or_none	qualitiesc                   @   sl   e Zd ZdZdddddddd	d
dddeeedddZdZddddddddddddZd"ddZ	d d! Z
dS )#FlickrIEzDhttps?://(?:www\.|secure\.)?flickr\.com/photos/[\w\-_@]+/(?P<id>\d+)zThttp://www.flickr.com/photos/forestwander-nature-pictures/5645318632/in/photostream/Z 164fe3fa6c22e18d448d4d5af2330f31Z
5645318632ZmpgzWaterfalls in the Springtime at Dark Hollow Waterfalls. These are located just off of Skyline Drive in Virginia. They are only about 6/10 of a mile hike but it is a pretty steep hill and a good climb back up.zDark Hollow Waterfalls   i$EMZ20110423z10922353@N03zForest Wanderz;https://www.flickr.com/photos/forestwander-nature-pictures/zAttribution-ShareAlike)idextdescriptiontitleduration	timestampZupload_dateuploader_iduploaderuploader_urlcomment_count
view_counttagslicense)urlmd5Z	info_dictz%https://api.flickr.com/services/rest?zAll Rights Reservedz$Attribution-NonCommercial-ShareAlikezAttribution-NonCommercialz"Attribution-NonCommercial-NoDerivsZAttributionzAttribution-NoDerivszNo known copyright restrictionszUnited States government workzPublic Domain Dedication (CC0)zPublic Domain Work)012345678910Nc                 C   sZ   |d| |ddd}|r"||d< |  | jtj| ||}|d dkrVt|d |S )	Nzflickr.jsonr   )Zphoto_idmethodapi_keyformatZnojsoncallbacksecretstatokmessage)_download_json_API_BASE_URLurllibparse	urlencoder   )selfr&   video_idr'   Znoter)   querydata r6   ;/tmp/pip-unpacked-wheel-q5ljy6pj/yt_dlp/extractor/flickr.py	_call_api2   s    zFlickrIE._call_apic                 C   s  |  |}| d|dd }| d||dd }|d dkrz| d	||d
|d d }tddddddddddg
}g }|d D ],}t|d}	||	|d ||	d q|di }
|
d}|
dp|}t|d d}||d d |d i d|t|d!t|di d"||
d#|t|d$i dt|d%d&d' |d(i d)g D | j	|d*d+S t
d,d-d.d S )/Nz.https://www.flickr.com/hermes_error_beacon.gnezDownloading api keyZsite_keyzphotos.getInfozDownloading video infoZphotoZmediavideozvideo.getStreamInfozDownloading streams infor)   streamsZ288pZiphone_wifiZ100Z300Z700Z360pZappletvZ720pZ1080porigstreamtype_content)Z	format_idr   ZqualityownerZnsidZ
path_aliasz!https://www.flickr.com/photos/%s/r   r   Zdateuploadedr   ZrealnamecommentsZviewsc                 S   s   g | ]}| d qS )r>   )get).0tagr6   r6   r7   
<listcomp>l   s     z*FlickrIE._real_extract.<locals>.<listcomp>r   rC   r   )r   r   r   formatsr   r   r   r   r   r   r   r   r   znot a videoT)expected)Z	_match_idr-   r8   r   strrA   appendr   r   	_LICENSESr   )r2   r   r3   r'   Z
video_infor:   Z
preferencerE   r<   Zstream_typer?   r   Zuploader_pathr   r6   r6   r7   _real_extractA   sp    
       


zFlickrIE._real_extract)N)__name__
__module____qualname__Z
_VALID_URLintlistZ_TESTr.   rI   r8   rJ   r6   r6   r6   r7   r	      sD   
r	   )
urllib.parser/   commonr   utilsr   r   r   r   r	   r6   r6   r6   r7   <module>   s   