__init__.py 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. # SPDX-License-Identifier: AGPL-3.0-or-later
  2. """The *answerers* give instant answers related to the search query, they
  3. usually provide answers of type :py:obj:`Answer <searx.result_types.Answer>`.
  4. Here is an example of a very simple answerer that adds a "Hello" into the answer
  5. area:
  6. .. code::
  7. from flask_babel import gettext as _
  8. from searx.answerers import Answerer
  9. from searx.result_types import Answer
  10. class MyAnswerer(Answerer):
  11. keywords = [ "hello", "hello world" ]
  12. def info(self):
  13. return AnswererInfo(name=_("Hello"), description=_("lorem .."), keywords=self.keywords)
  14. def answer(self, request, search):
  15. return [ Answer(answer="Hello") ]
  16. ----
  17. .. autoclass:: Answerer
  18. :members:
  19. .. autoclass:: AnswererInfo
  20. :members:
  21. .. autoclass:: AnswerStorage
  22. :members:
  23. .. autoclass:: searx.answerers._core.ModuleAnswerer
  24. :members:
  25. :show-inheritance:
  26. """
  27. from __future__ import annotations
  28. __all__ = ["AnswererInfo", "Answerer", "AnswerStorage"]
  29. from ._core import AnswererInfo, Answerer, AnswerStorage
  30. STORAGE: AnswerStorage = AnswerStorage()
  31. STORAGE.load_builtins()