
    7|h                     F    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y)    N)List)	BaseModelFieldc                   h    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y
)MojeekSearchAPIWrapperapi_key)default_factorysearch_kwargszhttps://api.mojeek.com/searchapi_urlqueryreturnc                     | j                  |      }g }|D ]M  }|j                  dd      }|j                  dd      }|j                  dd      }|j                  |||d       O t        j                  |      S )Ntitle urldesc)r   r   r   )_searchgetappendjsondumps)selfr   search_resultsresultsresultr   r   r   s           j/var/www/html/test/engine/venv/lib/python3.12/site-packages/langchain_community/utilities/mojeek_search.pyrunzMojeekSearchAPIWrapper.run   sz    e,$ 	GFJJw+E**UB'C::fb)DNNU3EF		G zz'""    c                    ddi}t        j                         }i | j                  |d| j                  d}|j	                  | j
                  |       |j                  t        d      t        j                  |j                  |      }|j                  st        d|j                         |j                         j                  di       j                  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
 	g.77?KLL<<9{{k(*>*>)?@AA}}"":r266y"EEr   N)__name__
__module____qualname__str__annotations__r   dictr
   r   r   r   r    r   r   r   r      sM    L5M452GS2# # #FS FT$Z Fr   r   )r   typingr   r%   pydanticr   r   r   r4   r   r   <module>r7      s       %$FY $Fr   