
    dh                     F    S SK r S SKJr  S SKrS SKJrJr   " S S\5      rg)    N)List)	BaseModelFieldc                   n    \ rS rSr% \\S'   \" \S9r\\S'   Sr	\\S'   S\S\4S	 jr
S\S\\   4S
 jrSrg)MojeekSearchAPIWrapper   api_key)default_factorysearch_kwargszhttps://api.mojeek.com/searchapi_urlqueryreturnc                     U R                  U5      n/ nU HM  nUR                  SS5      nUR                  SS5      nUR                  SS5      nUR                  XVUS.5        MO     [        R                  " U5      $ )Ntitle urldesc)r   r   r   )_searchgetappendjsondumps)selfr   search_resultsresultsresultr   r   r   s           c/var/www/html/shao/venv/lib/python3.13/site-packages/langchain_community/utilities/mojeek_search.pyrunMojeekSearchAPIWrapper.run   sq    e,$FJJw+E**UB'C::fb)DNNUEF	 % zz'""    c                    SS0n[         R                  " 5       n0 U R                  EUSU R                  S.EnUR	                  U R
                  U5        UR                  c  [        S5      e[         R                  " UR                  US9nUR                  (       d  [        SUR                   35      eUR                  5       R                  S0 5      R                  S	/ 5      $ )
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   MojeekSearchAPIWrapper._search   s    (
 &&(
  
&T\\B
 	g.77?KLL<<9{{k(*>*>)?@AA}}"":r266y"EEr     N)__name__
__module____qualname____firstlineno__str__annotations__r   dictr   r   r   r   r   __static_attributes__r1   r    r   r   r      sM    L5M452GS2# # #FS FT$Z Fr    r   )r   typingr   r'   pydanticr   r   r   r1   r    r   <module>r<      s       %$FY $Fr    