
    iR                         d Z ddlZddlmZ ddlmZ ddlZddlZddlm	Z	 ddl
mZmZmZ ddddd	d
ZddgZdZdZdZdZdZdZdZdZdZdZdZdZd Zd Zy)zpkg.go.dev (packages)    N)	urlencode)parser)html)
eval_xpatheval_xpath_listextract_textzhttps://pkg.go.dev/FHTML)websiteuse_official_apiofficial_api_documentationrequire_api_keyresultspackagesitzhttps://pkg.go.dev2   zb/html/body/main/div[contains(@class,"SearchResults")]/div[not(@class)]/div[@class="SearchSnippet"]z8./div[@class="SearchSnippet-headerContainer"]/h2/a/@hrefz9./div[@class="SearchSnippet-headerContainer"]/h2/a/text()z>./div[@class="SearchSnippet-headerContainer"]/h2/a/span/text()zH./div[contains(@class, "SearchSnippet-infoLabel")]/span/strong[1]/text()zm./div[contains(@class, "SearchSnippet-infoLabel")]/span/span[@data-test-id="snippet-published"]/strong/text()z$./p[@class="SearchSnippet-synopsis"]zB./div[contains(@class, "SearchSnippet-infoLabel")]/a/strong/text()za./div[contains(@class, "SearchSnippet-infoLabel")]/span[@data-test-id="snippet-license"]/a/text()z`./div[contains(@class, "SearchSnippet-infoLabel")]/span[@data-test-id="snippet-license"]/a/@hrefc                 H    | dt         d}t         dt        |       |d<   |S )Npackage)qmlimitz/search?url)max_result_countbase_urlr   )queryparamsargss      )/root/searxng/searx/engines/pkg_go_dev.pyrequestr   (   s2    !D
  j4(9:F5MM    c                    g }t        j                  | j                        }t        |t              D ]o  }t        t        |t                    }	 t        j                  |      }t        t        |t                    j                         }t        j                  j                  |d      }t!        j"                  |      }|j%                  dt&        t        t        |t(                    z   t        t        |t*                    t        t        |t,                    t/        j0                  ddt        t        |t2                          t        t        |t4                    |t        t        |t6                    t&        t        t        |t8                    z   |d
       r |S # t        j                  $ r d }Y Zw xY w)Nen_US)localezpackages.htmlz\(|\) )
templater   titlecontentpackage_nameversion
popularitylicense_namelicense_urlpublishedDate)r   
fromstringtextr   results_xpathr   r   updated_xpathr   parseParserErrorpopularity_xpathstripbabelnumbersparse_decimalflask_babelformat_decimalappendr   	url_xpathtitle_xpathcontent_xpathresubpackage_name_xpathversion_xpathlicense_name_xpathlicense_url_xpath)respr   docresultr,   r)   s         r   responserG   3   sY   G
//$))
$C!#}5 
$Z%FG	!"LL7M
 "*V5E"FGMMO
]]00G0L
 //
;
+,z&)/L"MM%j&EF'
6=(IJ "x\*VUgBh5i j'
6=(IJ( ,Z@R-S T',z&J[7\*]]!.	

8 N1 !! 	! M	!s   F''G ?G )__doc__r>   urllib.parser   dateutilr   r5   r8   lxmlr   searx.utilsr   r   r   about
categoriesr   r   r/   r;   r<   r@   rA   r0   r=   r3   rB   rC   r   rG    r   r   <module>rP      s     	 "     A A %"&	 $
 tF	IU Zs  7W x v !r   