
    i                     X    d Z ddlmZ ddlmZ ddddddd	Zd
dgZdZdZdZ	de
fdZd Zy)znpms.io    )	urlencode)parserzhttps://npms.io/Q7067518zhttps://api-docs.npms.io/FJSON)websitewikidata_idofficial_api_documentationuse_official_apirequire_api_keyresultsitpackagesT   zhttps://api.npms.io/v2/search?queryc                 ^    t        |d   dz
  t        z  | t        d      }t        |z   |d<   |S )Npageno   )fromqsizeurl)r   	page_size
search_api)r   paramsargss      "/root/searxng/searx/engines/npm.pyrequestr      s>    H%)Y6	
D %F5MM    c                 &   g }| j                         }|d   D ]  }|d   }|j                  d      }|rt        j                  |      }t	        |j                  di       j                               |j                  dg       z   }|j                  d|d   d   |d	   |d	   |j                  d
d      |j                  d      |j                  di       j                  d	      |||d   j                  d      |d   j                  d      d        |S )Nr   packagedateflagskeywordszpackages.htmllinksnpmnamedescription versionauthorhomepage
repository)templater   titlepackage_namecontentr)   
maintainerpublishedDatetagsr+   source_code_url)jsongetr   parselistkeysappend)respr   r0   entryr    r2   r3   s          r   responser=   '   s   GiikG# 
	"F+"LL7MEIIgr*//12W[[R5PP+w'.  '";;}b9";;y1%kk(B7;;FC!.#G,00<#*7#3#7#7#E	

, Nr   N)__doc__urllib.parser   dateutilr   about
categoriespagingr   r   strr   r=    r   r   <module>rF      sW     "  ""=	 J
 
	-

3 
r   