on master help sign in
add display_error_messages option to engine settings

A new option is added to engines to hide error messages from users. It is called `display_error_messages` and by default it is set to `True`. If it is set to `False` error messages do not show up on the UI. Keep in mind that engines are still suspended if needed regardless of this setting. Closes #1828

commite3282748d0433d455336487f7e36b789fe6ade30 authorNoémi Ványi <sitbackandwait@gmail.com> dateSun 29 Mar 2020, 13:14 (7 years ago) parentd38952c
5 files changed+11−1
docs/admin/engines.rst+4 docs/admin/settings.rst+3 docs/dev/engine_overview.rst+1 searx/engines/__init__.py+1 searx/results.py+2−1
docs/admin/engines.rst+4
@@ -26,6 +26,8 @@ Safe search **SS**
2626Weigth **W**
2727------------- ----------- ---------------------------------
2828Disabled **D**
29+------------- ----------- ---------------------------------
30+Show errors **DE**
2931============= =========== =================================
3032
3133Configuration defaults (at built time):
@@ -51,6 +53,7 @@ Configuration defaults (at built time):
5153 - O
5254 - W
5355 - D
56+ - DE
5457
5558 {% for name, mod in engines.items() %}
5659
@@ -67,5 +70,6 @@ Configuration defaults (at built time):
6770 - {{(mod.offline and "y") or ""}}
6871 - {{mod.weight or 1 }}
6972 - {{(mod.disabled and "y") or ""}}
73+ - {{(mod.display_error_messages and "y") or ""}}
7074
7175 {% endfor %}
docs/admin/settings.rst+3
@@ -175,6 +175,9 @@ Engine settings
175175``weigth`` : default ``1``
176176 Weighting of the results of this engine.
177177
178+``display_error_messages`` : default ``True``
179+ When an engine returns an error, the message is displayed on the user interface.
180+
178181.. note::
179182
180183 A few more options are possible, but they are pretty specific to some
docs/dev/engine_overview.rst+1
@@ -57,6 +57,7 @@ engine string name of searx-engine
5757 (filename without ``.py``)
5858shortcut string shortcut of search-engine
5959timeout string specific timeout for search-engine
60+display_error_messages boolean display error messages on the web UI
6061======================= =========== ===========================================
6162
6263
searx/engines/__init__.py+1
@@ -55,6 +55,7 @@ engine_default_args = {'paging': False,
5555 'continuous_errors': 0,
5656 'time_range_support': False,
5757 'offline': False,
58+ 'display_error_messages': True,
5859 'tokens': []}
5960
6061
searx/results.py+2−1
@@ -346,7 +346,8 @@ class ResultContainer(object):
346346 return resultnum_sum / len(self._number_of_results)
347347
348348 def add_unresponsive_engine(self, engine_name, error_type, error_message=None):
349− self.unresponsive_engines.add((engine_name, error_type, error_message))
349+ if engines[engine_name].display_error_messages:
350+ self.unresponsive_engines.add((engine_name, error_type, error_message))
350351
351352 def add_timing(self, engine_name, engine_time, page_load_time):
352353 self.timings.append({