
    Ng                     N    d dl Z d dlmZ d dlZd dlmZmZ  G d de          ZdS )    N)List)	BaseModelFieldc                   v    e Zd ZU eed<    ee          Zeed<   dZeed<   dedefdZ	dede
e         fd	Zd
S )MojeekSearchAPIWrapperapi_key)default_factorysearch_kwargszhttps://api.mojeek.com/searchapi_urlqueryreturnc                    |                      |          }g }|D ]]}|                    dd          }|                    dd          }|                    dd          }|                    |||d           ^t          j        |          S )Ntitle urldesc)r   r   r   )_searchgetappendjsondumps)selfr   search_resultsresultsresultr   r   r   s           g/var/www/html/ai-engine/env/lib/python3.11/site-packages/langchain_community/utilities/mojeek_search.pyrunzMojeekSearchAPIWrapper.run   s    e,,$ 	G 	GFJJw++E**UB''C::fb))DNNU3EEFFFFz'"""    c                    ddi}t          j                    }i | j        |d| j        d}|                    | j        |           |j        t          d          t          j        |j        |          }|j	        st          d|j                   |                                                    di                               d	g           S )
NAcceptzapplication/jsonr   )qfmtr   z,prepared url is None, this should not happen)headerszHTTP error responser   )requestsPreparedRequestr
   r   prepare_urlr   r   
ValueErrorr   ok	Exceptionstatus_coder   )r   r   r#   reqrequestr$   s         r   r   zMojeekSearchAPIWrapper._search   s    (
 &((
 
&T\BB
 	g...7?KLLL<999{ 	B@(*>@@AAA}}"":r2266y"EEEr   N)__name__
__module____qualname__str__annotations__r   dictr
   r   r   r   r    r   r   r   r      s         LLL%555M45552GS222# # # # # #FS FT$Z F F F F F Fr   r   )r   typingr   r%   pydanticr   r   r   r4   r   r   <module>r7      s            % % % % % % % %$F $F $F $F $FY $F $F $F $F $Fr   