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

Functions

None request (str query, "OnlineCurrenciesParams" params)
EngineResults response ("SXNG_Response" resp)

Variables

dict about
str engine_type = "online_currency"
list categories = ["currency", "general"]
str base_url = "https://duckduckgo.com/js/spice/currency/1/%(from_iso4217)s/%(to_iso4217)s"
str ddg_link_url = "https://duckduckgo.com/?q=%(from_iso4217)s+to+%(to_iso4217)s"
int weight = 100

Detailed Description

Currency convert (DuckDuckGo)

Function Documentation

◆ request()

None searx.engines.currency_convert.request ( str query,
"OnlineCurrenciesParams" params )

Definition at line 32 of file currency_convert.py.

32def request(query: str, params: "OnlineCurrenciesParams") -> None: # pylint: disable=unused-argument
33 params["url"] = base_url % params
34
35

◆ response()

EngineResults searx.engines.currency_convert.response ( "SXNG_Response" resp)

Definition at line 36 of file currency_convert.py.

36def response(resp: "SXNG_Response") -> EngineResults:
37 res = EngineResults()
38
39 # remove first and last lines to get only json
40 json_resp = resp.text[resp.text.find("\n") + 1 : resp.text.rfind("\n") - 2]
41 try:
42 conversion_rate = float(json.loads(json_resp)["to"][0]["mid"])
43 except IndexError:
44 return res
45
46 params: OnlineCurrenciesParams = resp.search_params # pyright: ignore[reportAssignmentType]
47 answer = "{0} {1} = {2} {3} (1 {5} : {4} {6})".format(
48 params["amount"],
49 params["from_iso4217"],
50 params["amount"] * conversion_rate,
51 params["to_iso4217"],
52 conversion_rate,
53 params["from_name"],
54 params["to_name"],
55 )
56 url = ddg_link_url % params
57 res.add(res.types.Answer(answer=answer, url=url))
58 return res

Variable Documentation

◆ about

dict searx.engines.currency_convert.about
Initial value:
1= {
2 "website": "https://duckduckgo.com/",
3 "wikidata_id": "Q12805",
4 "official_api_documentation": "https://duckduckgo.com/api",
5 "use_official_api": False,
6 "require_api_key": False,
7 "results": "JSONP",
8 "description": "Service from DuckDuckGo.",
9}

Definition at line 13 of file currency_convert.py.

◆ base_url

str searx.engines.currency_convert.base_url = "https://duckduckgo.com/js/spice/currency/1/%(from_iso4217)s/%(to_iso4217)s"

Definition at line 26 of file currency_convert.py.

◆ categories

list searx.engines.currency_convert.categories = ["currency", "general"]

Definition at line 24 of file currency_convert.py.

◆ ddg_link_url

str searx.engines.currency_convert.ddg_link_url = "https://duckduckgo.com/?q=%(from_iso4217)s+to+%(to_iso4217)s"

Definition at line 27 of file currency_convert.py.

◆ engine_type

str searx.engines.currency_convert.engine_type = "online_currency"

Definition at line 23 of file currency_convert.py.

◆ weight

int searx.engines.currency_convert.weight = 100

Definition at line 29 of file currency_convert.py.