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. |
||
|---|---|---|
| .. | ||
| engines | ||
| api.rst | ||
| arch_public.dot | ||
| architecture.rst | ||
| buildhosts.rst | ||
| filtron.rst | ||
| index.rst | ||
| installation-apache.rst | ||
| installation-docker.rst | ||
| installation-nginx.rst | ||
| installation-searxng.rst | ||
| installation-switch2ng.rst | ||
| installation-uwsgi.rst | ||
| installation.rst | ||
| morty.rst | ||
| plugins.rst | ||
| update-searxng.rst | ||