mirror of
https://github.com/searxng/searxng
synced 2024-01-01 19:24:07 +01:00
![]() Previously engines were defined in modules, which where then stapled with logger, supported_languages & language_aliases via monkey patching in searx/engines/__init__.py. Monkey patching is obviously a bad practice since it confuses humans as well as static type checkers. But there were more problems: * there were no type hints for the method input and output types * the request method did not even make a clear distinction between input and output (abusing a single "params" dictionary for both) This commit introduces a new class-based architecture for engines, in a backwards-compatiable manner: allowing old-style module engines to be used along witn new-style class-based engines. |
||
---|---|---|
.. | ||
checker | ||
processors | ||
__init__.py | ||
models.py |