mirror of
https://github.com/pewdiepie-archdaemon/odysseus.git
synced 2026-10-07 22:47:59 +00:00
bound optional search fallback latency
This commit is contained in:
parent
6b135eab73
commit
e9a117df0d
2 changed files with 7 additions and 1 deletions
|
|
@ -453,7 +453,11 @@ def duckduckgo_search(query: str, count: Optional[int] = None, time_filter: Opti
|
|||
"https://html.duckduckgo.com/html/",
|
||||
params={"q": query, "kp": _safesearch_for("duckduckgo_html")},
|
||||
headers={"User-Agent": WEB_FETCH_USER_AGENT},
|
||||
timeout=REQUEST_TIMEOUT,
|
||||
# This is a last-resort compatibility path when the declared
|
||||
# optional ``ddgs`` dependency is absent. Keep it short so a
|
||||
# blocked public endpoint cannot consume the full search SLA
|
||||
# across provider and query-relaxation retries.
|
||||
timeout=min(REQUEST_TIMEOUT, 5),
|
||||
)
|
||||
response.raise_for_status()
|
||||
soup = BeautifulSoup(response.text, "html.parser")
|
||||
|
|
|
|||
|
|
@ -684,6 +684,7 @@ def test_service_ddg_html_fallback_sends_safesearch(monkeypatch):
|
|||
|
||||
def fake_get(url, **kwargs):
|
||||
seen["params"] = kwargs["params"]
|
||||
seen["timeout"] = kwargs["timeout"]
|
||||
return _Response()
|
||||
|
||||
monkeypatch.setattr(providers, "_get_search_settings", lambda: {"search_safesearch": "off"})
|
||||
|
|
@ -693,4 +694,5 @@ def test_service_ddg_html_fallback_sends_safesearch(monkeypatch):
|
|||
results = providers.duckduckgo_search("odysseus", count=1)
|
||||
|
||||
assert seen["params"]["kp"] == "-2"
|
||||
assert seen["timeout"] <= 5
|
||||
assert results[0]["url"].startswith("https://notduckduckgo.com/")
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue