
    i                     `    d Z ddlmZmZ ddddddd	d
ZdgZdZdZdZedz   Z	d Z
d Zd Zd Zy)z)
Jisho (the Japanese-English dictionary)
    )	urlencodeurljoinzhttps://jisho.org	Q24568389zPhttps://jisho.org/forum/54fefc1f6e73340b1f160000-is-there-any-kind-of-search-apiTFJSONja)websitewikidata_idofficial_api_documentationuse_official_apirequire_api_keyresultslanguagedictionarieszhttps://jisho.org/word/z/api/v1/search/words?{query}c                     t        d| i      } t        j                  |       |d<   t        j	                  d|d           |S )Nkeyword)queryurlzquery_url --> )r   
SEARCH_URLformatloggerdebug)r   paramss     $/root/searxng/searx/engines/jisho.pyrequestr      sD    y%()E%%E%2F5M
LL>&-12M    c           	      t   g }d}| j                         }|j                  dg       D ]  }|j                  d      xr |d   d   j                  d      }|r	|d   dk(  r	 g }|d   D ]C  }d|vr|j                  |d	          |d   }d	|v r|d
|d	   z   dz   z  }|j                  |       E t        t        |d         }	t        |      }
dj                  d |
D              }|j                  |	dj                  |      |d d |dd  xr dz   d       |sd}|j                  t        ||	|
              |S )NTdatasensesr   parts_of_speechWikipedia definitionjapanesewordreading ()slug c              3   .   K   | ]  \  }}}| d   yw).N ).0_engdefs      r   	<genexpr>zresponse.<locals>.<genexpr>>   s     HLAvqfXQ<Hs   , i,  z...)r   titlecontentF)jsongetappendr   BASE_URLget_definitionsjoinget_infobox)respr   first_resultsearch_resultspager   	alt_forms	title_rawr0   
result_urldefinitionsr1   s               r   responserA   "   st   GLYY[N""62. L((8,Yh1B1F1FGX1Yq15KK 	j) 	(IY&  9!56!&)	)TIi$883>>E  '	( XtF|4
%d+ ((HKHH9)='RVSV-[bcfcg[h[rmrJst	

  LNN;y*kJK=L@ Nr   c                    g }| d   D ]>  }g }|j                  d      r_|j                  d      r'|j                  |d   d   dz   |d   d   z   dz          nl|j                  dj                  |d         dz          nE|j                  d      r4|j                  dj                  |d         j                         dz          |j                  d      r)|j                  ddj                  |d         z   dz          |j                  dj                  |d	         d
j                  |d         dj                  |      d d f       A |S )Nr   tagsinfor   r/   z. restrictionszOnly applies to: r   z; english_definitions )r3   r4   r7   
capitalize)r<   r@   defn_rawextras       r   r6   r6   K   s?   KN 
<<||F#Xf-a047(6:J1:MMPTTU TYYx'784?@\\&!LL8F#34??ADHI<<'LL,tyy.9Q/RRUYYZ		(#456		(#89:s#	

, r   c                    g }| d   }t        |       dkD  r'|j                  ddj                  | dd         d       |j                  d       |D ]I  \  }}}|dk(  r|j                  d       |rd	| d
nd}|rd| dnd}|j                  d| | | d       K |j                  d       |dj                  |      d|dgdS )Nr      z<p><i>Other forms:</i> r/   z</p>a0  
        <small><a href="https://www.edrdg.org/wiki/index.php/JMdict-EDICT_Dictionary_Project">JMdict</a> 
        and <a href="https://www.edrdg.org/enamdict/enamdict_doc.html">JMnedict</a> 
        by <a href="https://www.edrdg.org/edrdg/licence.html">EDRDG</a>, CC BY-SA 3.0.</small>
        <ul>
    r    z0</ul><small>Wikipedia, CC BY-SA 3.0.</small><ul>z<i>z</i>: rG   r$   r%   z<li>z</li>z</ul>z	Jisho.org)r0   r   )infoboxr1   urls)lenr4   r7   )r=   r?   r@   infobox_contentinfobox_titleposr-   rK   s           r   r8   r8   g   s   OaLM
9~!89QR=9Q8RRVWX 	 * AVU((""#UV#&C5B!&"UG1BcU6(5'?@A 7# !77?+ %!
	 	r   N)__doc__urllib.parser   r   about
categoriespagingURLr5   r   r   rA   r6   r8   r*   r   r   <module>rZ      sf    , #"t	 
	$11
&R8"r   