@@ -44,7 +44,7 @@ from urllib.parse import urlencode, urlparse, urljoin, urlsplit
4444
4545from pygments import highlight
4646from pygments.lexers import get_lexer_by_name
47−from pygments.formatters import HtmlFormatter
47+from pygments.formatters import HtmlFormatter # pylint: disable=no-name-in-module
4848
4949from werkzeug.middleware.proxy_fix import ProxyFix
5050from flask import (
@@ -111,7 +111,7 @@ app = Flask(
111111
112112app.jinja_env.trim_blocks = True
113113app.jinja_env.lstrip_blocks = True
114−app.jinja_env.add_extension('jinja2.ext.loopcontrols')
114+app.jinja_env.add_extension('jinja2.ext.loopcontrols') # pylint: disable=no-member
115115app.secret_key = settings['server']['secret_key']
116116
117117# see https://flask.palletsprojects.com/en/1.1.x/cli/
@@ -589,15 +589,12 @@ def search():
589589
590590 result_container = search.search()
591591
592+ except SearxParameterException as e:
593+ logger.exception('search error: SearxParameterException')
594+ return index_error(output_format, e.message), 400
592595 except Exception as e:
593− # log exception
594596 logger.exception('search error')
595−
596− # is it an invalid input parameter or something else ?
597− if (issubclass(e.__class__, SearxParameterException)):
598− return index_error(output_format, e.message), 400
599− else:
600− return index_error(output_format, gettext('search error')), 500
597+ return index_error(output_format, gettext('search error')), 500
601598
602599 # results
603600 results = result_container.get_ordered_results()