Ë
    cQêj  ã                   óˆ   — d Z ddlZddlZddlmZ ddlmZ ddlmZ ddl	m
Z
  ej                  e«      Z G d„ dee
   «      Zy)	úWikipedia text search engine.é    N)ÚAny)Úquote)ÚBaseSearchEngine)Ú
TextResultc                   óv   — e Zd ZdZdZdZdZdZdZdZ		 dde
de
d	e
d
e
dz  dede
dee
ef   fd„Zde
dee   fd„Zy)Ú	Wikipediar   Ú	wikipediaÚtexté   zGhttps://{lang}.wikipedia.org/w/api.php?action=opensearch&search={query}ÚGETÚqueryÚregionÚ
safesearchÚ	timelimitNÚpageÚkwargsÚreturnc                 óŒ   — |j                  «       j                  d«      \  }}t        |«      }	d|› d|	› �| _        i }
|| _        |
S )z'Build a payload for the search request.ú-úhttps://zH.wikipedia.org/w/api.php?action=opensearch&profile=fuzzy&limit=1&search=)ÚlowerÚsplitr   Ú
search_urlÚlang)Úselfr   r   r   r   r   r   Ú_countryr   Úencoded_queryÚpayloads              ú[/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/ddgs/engines/wikipedia.pyÚbuild_payloadzWikipedia.build_payload   sT   € ð  Ÿ™›×-Ñ-¨cÓ2‰ˆ�$Ü˜e›ˆà�t�fÐdÐerÐdsÐtð 	Œð #%ˆØˆŒ	Øˆó    Ú	html_textc                 óÀ  — t        j                  |«      }|d   sg S t        «       }|d   d   |_        |d   d   |_        t        |j                  «      }| j                  dd| j                  › d|› d�«      }|rRt        j                  |«      }t        t        |d   d	   j                  «       «      «      j                  d
d«      |_        d|j                  v rg S |gS )z&Extract search results from html text.é   r   é   r   r   zG.wikipedia.org/w/api.php?action=query&format=json&prop=extracts&titles=z$&explaintext=0&exintro=0&redirects=1r   ÚpagesÚextractÚ zmay refer to:)ÚjsonÚloadsr   ÚtitleÚhrefr   Úrequestr   ÚnextÚiterÚvaluesÚgetÚbody)r   r#   Ú	json_dataÚresultr   Ú	resp_datas         r    Úextract_resultszWikipedia.extract_results,   sà   € ä—J‘J˜yÓ)ˆ	Ø˜Š|ØˆIä“ˆØ  ‘| A‘ˆŒØ ‘l 1‘oˆŒô ˜fŸl™lÓ+ˆØ—L‘LØØ�t—y‘y�kÐ!hÐivÐhwð  x\ð  ]ó
ˆ	ñ ÜŸ
™
 9Ó-ˆIÜœt I¨gÑ$6°wÑ$?×$FÑ$FÓ$HÓIÓJ×NÑNÈyÐZ\Ó]ˆFŒKØ˜fŸk™kÑ)ØˆIàˆxˆr"   )r%   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚcategoryÚproviderÚpriorityr   Úsearch_methodÚstrÚintÚdictr   r!   Úlistr   r7   © r"   r    r	   r	      s•   „ Ù'à€DØ€HØ€HØ€HàZ€JØ€Mð ñàðð ðð ð	ð
 ˜‘:ðð ðð ðð 
ˆc�3ˆh‰óð&¨ð °°jÑ1Aô r"   r	   )r;   r*   ÚloggingÚtypingr   Úurllib.parser   Ú	ddgs.baser   Úddgs.resultsr   Ú	getLoggerr8   Úloggerr	   rE   r"   r    ú<module>rM      s>   ðÙ #ã Û Ý Ý å &Ý #à	ˆ×	Ñ	˜8Ó	$€ô4Ð  Ñ,õ 4r"   