o
    ȳg                     @   s@   d dl Z d dlmZ d dlZd dlmZmZ G dd deZdS )    N)List)	BaseModelFieldc                   @   s\   e Zd ZU eed< eedZeed< dZeed< dedefdd	Z	dede
e fd
dZdS )MojeekSearchAPIWrapperapi_key)default_factorysearch_kwargszhttps://api.mojeek.com/searchapi_urlqueryreturnc                 C   sX   |  |}g }|D ]}|dd}|dd}|dd}||||d q	t|S )Ntitle urldesc)r   r   r   )_searchgetappendjsondumps)selfr
   search_resultsresultsresultr   r   r    r   g/var/www/html/chatdoc2/venv/lib/python3.10/site-packages/langchain_community/utilities/mojeek_search.pyrun   s   

zMojeekSearchAPIWrapper.runc                 C   s   ddi}t  }i | j|d| jd}|| j| |jd u r$tdt j|j|d}|j	s7t
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    r   r   r   r      s   
zMojeekSearchAPIWrapper._searchN)__name__
__module____qualname__str__annotations__r   dictr   r	   r   r   r   r   r   r   r   r      s   
 r   )r   typingr   r!   pydanticr   r   r   r   r   r   r   <module>   s
    