U
    $Pf                     @   sP   d dl mZ ddlmZ ddlmZmZ ddlmZm	Z	m
Z
 G dd deZd	S )
    )unicode_literals   )InfoExtractor   )
compat_strcompat_urllib_parse_urlencode)ExtractorError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   sT   |d| |ddd}|r ||d< |  | jt| ||}|d dkrPt|d |S )	Nz	flickr.%sjsonr   )Zphoto_idmethodapi_keyformatZnojsoncallbacksecretstatokmessage)_download_json_API_BASE_URLr   r   )selfr(   video_idr)   Znoter+   querydata r5   ?/tmp/pip-unpacked-wheel-7zdooeg3/youtube_dl/extractor/flickr.py	_call_api5   s    zFlickrIE._call_apic                 C   s  |  |}| d|dd }| d||dd }|d dkr| 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|}|rd| n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   
preference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tagr5   r5   r6   
<listcomp>p   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/   r7   r
   r   rA   appendZ_sort_formatsr	   	_LICENSESr   )r1   r   r2   r)   Z
video_infor9   r>   rE   r;   Zstream_typer?   r   Zuploader_pathr   r5   r5   r6   _real_extractD   sr    
       



zFlickrIE._real_extract)N)__name__
__module____qualname__Z
_VALID_URLintlistZ_TESTr0   rH   r7   rI   r5   r5   r5   r6   r      sD   
r   N)
__future__r   commonr   compatr   r   utilsr   r	   r
   r   r5   r5   r5   r6   <module>   s   