
    i                     h    d Z ddlZddlZddlZddlmZ ddddddd	Zd
ZddgZ	dZ
dZdZd ZdefdZy)z<Mozhi (alternative frontend for popular translation engines)    N)EngineResultsz https://codeberg.org/aryak/mozhiz-https://mozhi.aryak.me/api/swagger/index.htmlTFJSON)websitewikidata_idofficial_api_documentationuse_official_apirequire_api_keyresultsonline_dictionarygeneral	translatezhttps://mozhi.aryak.megooglezDirection '.*' is not supportedc                     t        t        t              rt        j                  t              nt        }|d   d   |d   d   |d   t
        d}| dt        j                  j                  |       |d<   |S )N	from_lang   to_langquery)fromtotextenginez/api/translate?url)	
isinstancebase_urllistrandomchoicemozhi_engineurllibparse	urlencode)_queryparamsrequest_urlargss       $/root/searxng/searx/engines/mozhi.pyrequestr'      sn    -7$-G&--)XK;'*&2CA2FPVW^P_kwxD"m?6<<3I3I$3O2PQF5MM    returnc           	      .   t               }| j                         }|j                  j                  j	                  |d         }|d   r't        j                  t        |d         s
|d   |_        |d   r|d   D ]  }|j                  d      r|j                  j                  |d          |j                  dg       D ]A  }|j                  j                  t        j                  dd|      j                  d	             C  |j                  d
g       |_        t         j"                  j%                  | j&                  d         }|j)                  dd      j+                         }|j-                  |j                  j                  |g|             |S )Nztranslated-text)r   target_transliterationword_choices
definitionexamples_targetz<|> z- source_synonymsr   )pathfragment)translationsr   )r   jsontypesTranslationsItemrematchre_transliteration_unsupportedtransliterationgetdefinitionsappendexamplessublstripsynonymsr   r    urlparsesearch_params_replacegeturladd)resprestranslationitemwordexampler   s          r&   responserN   $   sf   
/C))+K99!!&&K8I,J&KD+,RXX&4L(M6  ++CD>"/ 	ODxx%  ''\(:;88$5r: O$$RVVFB%@%G%G%MNO		O  OO$5r:DM
,,

 2 25 9
:C
,,B,
,
3
3
5CGGCII""C"@AJr(   )__doc__r   r8   urllib.parser   searx.result_typesr   aboutengine_type
categoriesr   r   r:   r'   rN    r(   r&   <module>rV      sa    B  	  , 2"Q	 "%
#!B m r(   