.oO SearXNG Developer Documentation Oo.
Loading...
Searching...
No Matches
searx.engines.pkg_go_dev Namespace Reference

Functions

 request (query, params)
 
 response (resp)
 

Variables

dict about
 
list categories = ["packages", "it"]
 
str base_url = "https://pkg.go.dev"
 
int max_result_count = 50
 
str results_xpath = '/html/body/main/div[contains(@class,"SearchResults")]/div[not(@class)]/div[@class="SearchSnippet"]'
 
str url_xpath = './div[@class="SearchSnippet-headerContainer"]/h2/a/@href'
 
str title_xpath = './div[@class="SearchSnippet-headerContainer"]/h2/a/text()'
 
str package_name_xpath = './div[@class="SearchSnippet-headerContainer"]/h2/a/span/text()'
 
str version_xpath = './div[contains(@class, "SearchSnippet-infoLabel")]/span/strong[1]/text()'
 
tuple updated_xpath
 
str content_xpath = './p[@class="SearchSnippet-synopsis"]'
 
str popularity_xpath = './div[contains(@class, "SearchSnippet-infoLabel")]/a/strong/text()'
 
str license_name_xpath = './div[contains(@class, "SearchSnippet-infoLabel")]/span[@data-test-id="snippet-license"]/a/text()'
 
str license_url_xpath = './div[contains(@class, "SearchSnippet-infoLabel")]/span[@data-test-id="snippet-license"]/a/@href'
 

Detailed Description

pkg.go.dev (packages)

Function Documentation

◆ request()

searx.engines.pkg_go_dev.request ( query,
params )

Definition at line 40 of file pkg_go_dev.py.

40def request(query, params):
41 args = {
42 'q': query,
43 'm': 'package',
44 'limit': max_result_count,
45 }
46 params['url'] = f"{base_url}/search?{urlencode(args)}"
47
48 return params
49
50

◆ response()

searx.engines.pkg_go_dev.response ( resp)

Definition at line 51 of file pkg_go_dev.py.

51def response(resp):
52 results = []
53
54 doc = html.fromstring(resp.text)
55
56 for result in eval_xpath_list(doc, results_xpath):
57 publishedDate = extract_text(eval_xpath(result, updated_xpath))
58 try:
59 publishedDate = parser.parse(publishedDate)
60 except parser.ParserError:
61 publishedDate = None
62
63 # 110n 15,000.00 (EN) --> 15.000,00 (DE)
64 popularity = extract_text(eval_xpath(result, popularity_xpath)).strip()
65 popularity = babel.numbers.parse_decimal(popularity, locale='en_US')
66 # popularity is of type str ..
67 popularity = flask_babel.format_decimal(popularity)
68
69 results.append(
70 {
71 'template': 'packages.html',
72 'url': base_url + extract_text(eval_xpath(result, url_xpath)),
73 'title': extract_text(eval_xpath(result, title_xpath)),
74 'content': extract_text(eval_xpath(result, content_xpath)),
75 'package_name': re.sub(r"\‍(|\‍)", "", extract_text(eval_xpath(result, package_name_xpath))),
76 'version': extract_text(eval_xpath(result, version_xpath)),
77 'popularity': popularity,
78 'license_name': extract_text(eval_xpath(result, license_name_xpath)),
79 'license_url': base_url + extract_text(eval_xpath(result, license_url_xpath)),
80 'publishedDate': publishedDate,
81 }
82 )
83
84 return results

Variable Documentation

◆ about

dict searx.engines.pkg_go_dev.about
Initial value:
1= {
2 'website': 'https://pkg.go.dev/',
3 'use_official_api': False,
4 'official_api_documentation': None,
5 'require_api_key': False,
6 'results': 'HTML',
7}

Definition at line 13 of file pkg_go_dev.py.

◆ base_url

str searx.engines.pkg_go_dev.base_url = "https://pkg.go.dev"

Definition at line 23 of file pkg_go_dev.py.

◆ categories

list searx.engines.pkg_go_dev.categories = ["packages", "it"]

Definition at line 21 of file pkg_go_dev.py.

◆ content_xpath

str searx.engines.pkg_go_dev.content_xpath = './p[@class="SearchSnippet-synopsis"]'

Definition at line 34 of file pkg_go_dev.py.

◆ license_name_xpath

str searx.engines.pkg_go_dev.license_name_xpath = './div[contains(@class, "SearchSnippet-infoLabel")]/span[@data-test-id="snippet-license"]/a/text()'

Definition at line 36 of file pkg_go_dev.py.

◆ license_url_xpath

str searx.engines.pkg_go_dev.license_url_xpath = './div[contains(@class, "SearchSnippet-infoLabel")]/span[@data-test-id="snippet-license"]/a/@href'

Definition at line 37 of file pkg_go_dev.py.

◆ max_result_count

int searx.engines.pkg_go_dev.max_result_count = 50

Definition at line 24 of file pkg_go_dev.py.

◆ package_name_xpath

str searx.engines.pkg_go_dev.package_name_xpath = './div[@class="SearchSnippet-headerContainer"]/h2/a/span/text()'

Definition at line 29 of file pkg_go_dev.py.

◆ popularity_xpath

str searx.engines.pkg_go_dev.popularity_xpath = './div[contains(@class, "SearchSnippet-infoLabel")]/a/strong/text()'

Definition at line 35 of file pkg_go_dev.py.

◆ results_xpath

str searx.engines.pkg_go_dev.results_xpath = '/html/body/main/div[contains(@class,"SearchResults")]/div[not(@class)]/div[@class="SearchSnippet"]'

Definition at line 26 of file pkg_go_dev.py.

◆ title_xpath

str searx.engines.pkg_go_dev.title_xpath = './div[@class="SearchSnippet-headerContainer"]/h2/a/text()'

Definition at line 28 of file pkg_go_dev.py.

◆ updated_xpath

tuple searx.engines.pkg_go_dev.updated_xpath
Initial value:
1= (
2 './div[contains(@class, "SearchSnippet-infoLabel")]/span/span[@data-test-id="snippet-published"]/strong/text()'
3)

Definition at line 31 of file pkg_go_dev.py.

◆ url_xpath

str searx.engines.pkg_go_dev.url_xpath = './div[@class="SearchSnippet-headerContainer"]/h2/a/@href'

Definition at line 27 of file pkg_go_dev.py.

◆ version_xpath

str searx.engines.pkg_go_dev.version_xpath = './div[contains(@class, "SearchSnippet-infoLabel")]/span/strong[1]/text()'

Definition at line 30 of file pkg_go_dev.py.