diff options
| author | Bnyro <bnyro@tutanota.com> | 2026-09-05 19:27:54 +0200 |
|---|---|---|
| committer | Bnyro <bnyro@tutanota.com> | 2026-09-05 22:44:32 +0200 |
| commit | c06e9f088952f59ad8003acba73854975b51da4a (patch) | |
| tree | d3401c3126b9fb14f74cbd112d9231bbc8e40aef | |
| parent | 4781754dc46114b38a4773e917f5554d839aa03a (diff) | |
[del] cara engine: remove because it requires signup for searching
| -rw-r--r-- | docs/dev/engines/online/cara.rst | 8 | ||||
| -rw-r--r-- | searx/engines/cara.py | 85 | ||||
| -rw-r--r-- | searx/settings.yml | 5 |
3 files changed, 0 insertions, 98 deletions
diff --git a/docs/dev/engines/online/cara.rst b/docs/dev/engines/online/cara.rst deleted file mode 100644 index 5e608119a..000000000 --- a/docs/dev/engines/online/cara.rst +++ /dev/null @@ -1,8 +0,0 @@ -.. _cara engine: - -=========== -Cara Images -=========== - -.. automodule:: searx.engines.cara - :members: diff --git a/searx/engines/cara.py b/searx/engines/cara.py deleted file mode 100644 index 22cce024e..000000000 --- a/searx/engines/cara.py +++ /dev/null @@ -1,85 +0,0 @@ -# SPDX-License-Identifier: AGPL-3.0-or-later -# pylint: disable=invalid-name -"""Cara_ is a social media and portfolio-sharing platform for artists and art -enthusiasts. - -With the widespread use of generative AI, Cara_ decided to build a place that -filters out gen AI images so that people searching for authentic creatives and -images can do so easily. - -.. _Cara: https://cara.app/about -""" - -from urllib.parse import urlencode - -import typing as t - -from searx.result_types import EngineResults - -if t.TYPE_CHECKING: - from searx.extended_types import SXNG_Response - from searx.search.processors import OnlineParams - - -about = { - "website": "https://cara.app", - "official_api_documentation": None, - "use_official_api": False, - "require_api_key": False, - "results": "JSON", -} - -base_url = "https://cara.app" -images_url = "https://images.cara.app" - -categories = ["images"] -paging = True -results_per_page = 24 - -# if using HTTP2, we get blocked immediately -enable_http2 = False - - -def request(query: str, params: "OnlineParams") -> None: - args = { - "q": query, - "sortBy": "Top", - "take": results_per_page, - "skip": (params["pageno"] - 1) * results_per_page, - } - params["url"] = f"{base_url}/api/search/portfolio-posts?{urlencode(args)}" - - -def response(resp: "SXNG_Response"): - res = EngineResults() - json_data: list[dict[str, t.Any]] = resp.json() - - for result in json_data: - thumbnail, img = None, None - - i: dict[str, str] - for i in result["images"]: - if thumbnail is None or i["isCoverImg"]: - thumbnail = i - - if img is None or not i["isCoverImg"]: - img = i - - if not thumbnail or not img: - continue - - res.add( - res.types.LegacyResult( - { - "template": "images.html", - "url": f"{base_url}/post/{result['id']}", - "thumbnail_src": f"{images_url}/{thumbnail['src']}?height=256", - "img_src": f"{images_url}/{img['src']}", - "title": result["title"], - "content": result["content"], - "author": result["name"], - } - ) - ) - - return res diff --git a/searx/settings.yml b/searx/settings.yml index ad557842a..a97c37c93 100644 --- a/searx/settings.yml +++ b/searx/settings.yml @@ -634,11 +634,6 @@ engines: shortcut: cos disabled: true - - name: cara - engine: cara - shortcut: ca - disabled: true - # - name: chatnoir # engine: chatnoir # shortcut: cha |
