diff --git a/.pylintrc b/.pylintrc index 3b4adb2ca..eb6d500b3 100644 --- a/.pylintrc +++ b/.pylintrc @@ -12,7 +12,7 @@ # A comma-separated list of package or module names from where C extensions may # be loaded. Extensions are loading into the active Python interpreter and may # run arbitrary code -extension-pkg-whitelist= +extension-pkg-whitelist=lxml.etree # Add files or directories to the blacklist. They should be base names, not # paths. diff --git a/searx/engines/qwant.py b/searx/engines/qwant.py index 98460604c..c909ce11b 100644 --- a/searx/engines/qwant.py +++ b/searx/engines/qwant.py @@ -17,7 +17,7 @@ from searx.utils import html_to_text, match_language # engine dependent config -categories = None +categories = [] paging = True language_support = True supported_languages_url = 'https://qwant.com/region' diff --git a/searx/engines/xpath.py b/searx/engines/xpath.py index 81c2747fb..a569d9160 100644 --- a/searx/engines/xpath.py +++ b/searx/engines/xpath.py @@ -7,6 +7,7 @@ url_xpath = None content_xpath = None title_xpath = None thumbnail_xpath = False +categories = [] paging = False suggestion_xpath = '' results_xpath = '' diff --git a/searx/webapp.py b/searx/webapp.py index 9aa80906a..326200cec 100755 --- a/searx/webapp.py +++ b/searx/webapp.py @@ -44,7 +44,7 @@ from urllib.parse import urlencode, urlparse, urljoin, urlsplit from pygments import highlight from pygments.lexers import get_lexer_by_name -from pygments.formatters import HtmlFormatter +from pygments.formatters import HtmlFormatter # pylint: disable=no-name-in-module from werkzeug.middleware.proxy_fix import ProxyFix from flask import ( @@ -111,7 +111,7 @@ app = Flask( app.jinja_env.trim_blocks = True app.jinja_env.lstrip_blocks = True -app.jinja_env.add_extension('jinja2.ext.loopcontrols') +app.jinja_env.add_extension('jinja2.ext.loopcontrols') # pylint: disable=no-member app.secret_key = settings['server']['secret_key'] # see https://flask.palletsprojects.com/en/1.1.x/cli/ @@ -589,15 +589,12 @@ def search(): result_container = search.search() + except SearxParameterException as e: + logger.exception('search error: SearxParameterException') + return index_error(output_format, e.message), 400 except Exception as e: - # log exception logger.exception('search error') - - # is it an invalid input parameter or something else ? - if (issubclass(e.__class__, SearxParameterException)): - return index_error(output_format, e.message), 400 - else: - return index_error(output_format, gettext('search error')), 500 + return index_error(output_format, gettext('search error')), 500 # results results = result_container.get_ordered_results()