
    EPc=                         d dl Z d dlZd dlZd dlmZmZ d dlmZmZ 	 d dl	m
Z
 n# e$ r dZ
Y nw xY w G d de          Z G d de          ZdS )	    N)RemoteSource
RemoteFile)urljoinparse_qs)BeautifulSoupc                       e Zd Zd ZdS )OpenClipartFilec                    | j         j                            | j        d                   }t	          |j        d          }|                    d          D ]h}|j        }|r]d|d         v rS	 t          j	        |d                   }| j         
                    |d         d                   c S # t          $ r Y dw xY wit          j        d| j        d                    d	S )
zExtract search result from htmlfilelxmlfeaturesscriptimager   urlzCouldn't load svg from %sN)remotesessiongetinfor   textfind_allcontentsjsonloadsto_local_file	Exceptionloggingerror)selfresponsesoupr   contentdatas         </usr/share/inkscape/extensions/other/clipart/sources/ocal.pyget_filezOpenClipartFile.get_file    s    ;&**49V+<==X]V<<<mmH-- 	 	FoG 7gaj00:gaj11D;44T']55IJJJJJ    H149V3DEEEEEs   ,?B..
B;:B;N)__name__
__module____qualname__r%        r$   r	   r	      s(        F F F F Fr*   r	   c                   8    e Zd ZdZdZdZeduZeZ	d Z
d Zd ZdS )OpenClipartzOpen Clipart Libraryzsources/ocal.svgzhttps://openclipart.org/search/Nc              #      K   t          |j        d          }|                    dddi          D ]}|j        r|j        j        rt           j        |j                            d                    }t           j        |j        j                            d                    }||j        j                            d          |d	d
dV  |                    dddd          D ]"d                    dd          v r fdV  #dS )z Extract search results from htmlr   r   divclassartworkhrefsrcaltr,   zcc-0)r   name	thumbnailauthorlicenseaz	page-linkNext)r/   z
aria-label= c            	           j         di t                               d                              d          d                   S )Nr1   ?r)   )_searchr   r   split)pager   s   r$   <lambda>z)OpenClipart.html_search.<locals>.<lambda>H   sA    ldlWWXdhhv6F6F6L6LS6Q6QRT6U-V-VWW r*   N)r   r   r   r8   imgr   base_urlr   )r   r    r!   r.   linkrC   rA   s   `     @r$   html_searchzOpenClipart.html_search6   s5     X]V<<<==)(<== 	 	Cu 
 
t}ceii.?.?@@dmSUY]]5-A-ABB !EIMM%00!$+%     MM#F'S'STT 	X 	XDdhhvr****WWWWWWWW	X 	Xr*   c                 .    |                      |          S )zHTML searching for now)query)r?   )r   rH   s     r$   searchzOpenClipart.searchJ   s    ||%|(((r*   c                 @   	 | j                             | j        |          }n# t          $ r g cY S w xY wg }d }|                     |          D ])}t          |          r|}|                    |           *|s|r
 |            S |r|                    |           |S )N)params)r   r   rD   r   rF   callableappend)r   rK   r    items	next_pageitems         r$   r?   zOpenClipart._searchN   s    	|''f'EEHH 	 	 	III	 	$$X.. 	# 	#D~~ # 		T"""" 	 	9;; 	$LL###s   !$ 33)r&   r'   r(   r4   iconrD   r   
is_enabledr	   file_clsrF   rI   r?   r)   r*   r$   r,   r,   /   sb        !DD0Hd*JHX X X() ) )    r*   r,   )sysr   r   import_sourcesr   r   urllib.parser   r   bs4r   ImportErrorr	   r,   r)   r*   r$   <module>rY      s   $ 


   3 3 3 3 3 3 3 3 * * * * * * * *!!!!!!!   MMMF F F F Fj F F F 2 2 2 2 2, 2 2 2 2 2s   % //