o
    ®©Zh¿  ã                   @   s<   d Z ddlmZ ddlmZ ddlmZ G dd„ deƒZdS )zWrapper around wikipedia API.é    )ÚUnion)ÚDocument)ÚDocstorec                   @   s4   e Zd ZdZd	dd„Zdedeeef fdd„ZdS )
Ú	WikipediazWikipedia API.ÚreturnNc                 C   s&   zddl }W dS  ty   tdƒ‚w )z*Check that wikipedia package is installed.r   NzZCould not import wikipedia python package. Please install it with `pip install wikipedia`.)Ú	wikipediaÚImportError)Úselfr   © r
   ú]/var/www/html/lang_env/lib/python3.10/site-packages/langchain_community/docstore/wikipedia.pyÚ__init__   s   ÿÿzWikipedia.__init__Úsearchc              	   C   sŽ   ddl }z| |¡j}| |¡j}t|d|id}W |S  |jy1   d|› d| |¡› }Y |S  |jyF   d|› d| |¡› }Y |S w )a  Try to search for wiki page.

        If page exists, return the page summary, and a PageWithLookups object.
        If page does not exist, return similar entries.

        Args:
            search: search string.

        Returns: a Document object or error message.
        r   NÚpage)Úpage_contentÚmetadatazCould not find [z]. Similar: )r   r   ÚcontentÚurlr   Z	PageErrorr   ZDisambiguationError)r	   r   r   r   r   Úresultr
   r
   r   r      s   ÿüþþzWikipedia.search)r   N)	Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Ústrr   r   r   r
   r
   r
   r   r   
   s    

r   N)r   Útypingr   Zlangchain_core.documentsr   Z!langchain_community.docstore.baser   r   r
   r
   r
   r   Ú<module>   s
    