
    i                         d Z ddlZddlmZ ddlZddlmZ ddlmZmZ dddd	d	d
dZ	dgZ
dZdZd	ZdddddZdZdZdZdZ ej&                  dej(                        Zd Zd Zd Zd Zy)zFlickr (Images)    N)time)	urlencode)ecma_unescapehtml_to_textzhttps://www.flickr.comQ103204z@https://secure.flickr.com/services/api/flickr.photos.search.htmlFHTML)websitewikidata_idofficial_api_documentationuse_official_apirequire_api_keyresultsimagesTiQ i:	 i $ i )dayweekmonthyear)okhbczmntqsz1https://www.flickr.com/search?{query}&page={page}z.&min_upload_date={start}&max_upload_date={end}z0https://www.flickr.com/photos/{userid}/{photoid}z^\s*modelExport:\s*({.*}),$c                 0    t         j                  | |      S )N)useridphotoid)	photo_urlformat)user_idphoto_ids     +/root/searxng/searx/engines/flickr_noapi.pybuild_flickr_urlr'   (   s    7H==    c           	          | t         v rCt        j                  t               t	        t        t                     t         |    z
              S y)N)startend )time_range_dicttime_range_urlr#   r   strint)
time_ranges    r&   _get_time_range_urlr2   ,   s;    _$$$46s3tv;YcId;d7e$ffr(   c                 t    t         j                  t        d| i      |d         t        |d         z   |d<   |S )Ntextpageno)querypager1   url)
search_urlr#   r   r2   )r6   paramss     r&   requestr;   2   sG    %%Ivuo,FVT\M]%^at|b F5M Mr(   c           	         g }t         j                  | j                        }||S |j                  d      }t	        j
                  |      }d|vr|S |d   }|r|d   s|S t        |      D ]Z  \  }}t        |      dk7  rt        j                  d||       -|d   |d      t        |d            |d      |d      |d	      |d
      t        |d            |d      }t        |j                  dd            }	t        |j                  dd            }
|
r|
dz  }
t        |j                  dd            }t        t        |j                  dd                  }d }d }t        D ]  }||d   d   v s|d   d   |   d   } n |s5t        j                  dj                  t!        |d   d                      P|d   }|d    d|d    }d|d   d   v r|d   d   d   d   d   }nd|d   d   v r|d   d   d   d   d   }n|}d|vr|}nt#        |d   |d         }||||
|dd}|	j%                  d !      j'                         |d"<   |
j%                  d !      j'                         |d#<   |j%                  d !      j'                         |d<   |j%                  d !      j'                         |d$<   |j)                  |       ] |S )%N   legendr      zskip legend enty %s : %smain                  realnamer,   usernamez	 @ Flickrtitledescriptionsizesdataz!cannot find valid image size: {0}r8   widthz x heightr   r   	ownerNsididzimages.html)r8   img_srcthumbnail_srcsource
resolutiontemplateignore)errorsauthorrS   content)modelexport_researchr4   groupjsonloads	enumeratelenloggerdebugr0   r   getr   image_sizesr#   reprr'   encodedecodeappend)respr   matchesmatchmodel_exportr>   xindexphotorX   rS   rI   rY   rQ   	size_data
image_sizerT   rR   r8   results                       r&   responsers   9   s9   G##DII.GMM!E::e$L|#(#F f% 85u:?LL3Q>V$U1X.s58}=eAhGaQRWXYRZ[\abc\defijopqjrfst!H
 uyyR89uyyR89k!Feii45}UYY}b-IJK 	% 	JU7^F33!'N62:>vF		
 LL<CCDwX^I_D`abE"!'*+3y/B.CD
 %.((!'N6237?FME'N6**!'N6237?FM#Me#C"5#5uT{CC *$%
 "===9@@Bx!===9@@Bx,,h,7>>@w#NN(N;BBDyvq8t Nr(   )__doc__r]   r   reurllib.parser   searx.utilsr   r   about
categoriespagingtime_range_support
safesearchr-   rd   r9   r.   r"   compileMrZ   r'   r2   r;   rs    r(   r&   <module>r      s       	 " 3 ("d	 Z
	 
 !!	 F@
A>	:BDDA>Lr(   