From 0633a03097163623355ccc220bfaa6d5174f4b8a Mon Sep 17 00:00:00 2001 From: Tine Date: Mon, 1 Jun 2026 03:19:11 +0900 Subject: [PATCH] Apply safesearch to Bing image payloads --- ddgs/engines/bing_images.py | 3 ++- tests/bing_images_test.py | 9 +++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 tests/bing_images_test.py diff --git a/ddgs/engines/bing_images.py b/ddgs/engines/bing_images.py index fe9dc924..b0476d91 100644 --- a/ddgs/engines/bing_images.py +++ b/ddgs/engines/bing_images.py @@ -23,7 +23,7 @@ def build_payload( self, query: str, region: str, # noqa: ARG002 - safesearch: str, # noqa: ARG002 + safesearch: str, timelimit: str | None, page: int = 1, **kwargs: str, @@ -32,6 +32,7 @@ def build_payload( count = max(int(kwargs.get("max_results", 10)), 35) payload = { "q": query, + "adlt": {"on": "strict", "moderate": "moderate", "off": "off"}[safesearch.lower()], "async": "1", "first": str((page - 1) * count + 1), "count": str(count), diff --git a/tests/bing_images_test.py b/tests/bing_images_test.py new file mode 100644 index 00000000..ccdab9e6 --- /dev/null +++ b/tests/bing_images_test.py @@ -0,0 +1,9 @@ +from ddgs.engines.bing_images import BingImages + + +def test_bing_images_payload_applies_safesearch() -> None: + engine = BingImages() + + assert engine.build_payload("cats", "us-en", "on", None)["adlt"] == "strict" + assert engine.build_payload("cats", "us-en", "moderate", None)["adlt"] == "moderate" + assert engine.build_payload("cats", "us-en", "off", None)["adlt"] == "off"