
    7|h                     B    d Z ddlmZ ddlmZ ddlmZ  G d de      Zy)zWrapper around wikipedia API.    )Union)Document)Docstorec                   2    e Zd ZdZddZdedeeef   fdZy)	WikipediazWikipedia API.returnNc                 >    	 ddl }y# t        $ r t        d      w xY 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
   s     e/var/www/html/test/engine/venv/lib/python3.12/site-packages/langchain_community/docstore/wikipedia.py__init__zWikipedia.__init__   s,    	 	B 	s    searchc                 D   ddl }	 |j                  |      j                  }|j                  |      j                  }t	        |d|i      }|S # |j
                  $ r d| d|j                  |       }Y |S |j                  $ r d| d|j                  |       }Y |S w xY 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   	PageErrorr   DisambiguationError)r   r   r
   r   r   results         r   r   zWikipedia.search   s     			W$>>&199L..(,,C+3)VSM,F 	 "" 	W'x|I<L<LV<T;UVF  ,, 	W'x|I<L<LV<T;UVF	Ws   AA &B6%BB)r   N)	__name__
__module____qualname____doc__r   strr   r   r        r   r   r   
   s&    S U3=%9 r   r   N)r   typingr   langchain_core.documentsr   !langchain_community.docstore.baser   r   r   r   r   <module>r#      s    #  - 6$ $r   