diff options
Diffstat (limited to 'searx/webapp.py')
| -rwxr-xr-x | searx/webapp.py | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/searx/webapp.py b/searx/webapp.py index 83bbeac06..bd76cc534 100755 --- a/searx/webapp.py +++ b/searx/webapp.py @@ -145,7 +145,7 @@ result_templates = get_result_templates(templates_path) STATS_SORT_PARAMETERS = { 'name': (False, 'name', ''), - 'score': (True, 'score', 0), + 'score': (True, 'score_per_result', 0), 'result_count': (True, 'result_count', 0), 'time': (False, 'total', 0), 'reliability': (False, 'reliability', 100), @@ -315,16 +315,16 @@ def custom_url_for(endpoint: str, **values): return url_for(endpoint, **values) + suffix -def proxify(url: str): +def morty_proxify(url: str): if url.startswith('//'): url = 'https:' + url - if not settings.get('result_proxy'): + if not settings['result_proxy']['url']: return url url_params = dict(mortyurl=url) - if settings['result_proxy'].get('key'): + if settings['result_proxy']['key']: url_params['mortyhash'] = hmac.new(settings['result_proxy']['key'], url.encode(), hashlib.sha256).hexdigest() return '{0}?{1}'.format(settings['result_proxy']['url'], urlencode(url_params)) @@ -349,8 +349,8 @@ def image_proxify(url: str): return url return None - if settings.get('result_proxy'): - return proxify(url) + if settings['result_proxy']['url']: + return morty_proxify(url) h = new_hmac(settings['server']['secret_key'], url.encode()) @@ -450,6 +450,7 @@ def render(template_name: str, **kwargs): kwargs['instance_name'] = get_setting('general.instance_name') kwargs['searx_version'] = VERSION_STRING kwargs['searx_git_url'] = GIT_URL + kwargs['enable_metrics'] = get_setting('general.enable_metrics') kwargs['get_setting'] = get_setting kwargs['get_pretty_url'] = get_pretty_url @@ -462,8 +463,9 @@ def render(template_name: str, **kwargs): # helpers to create links to other pages kwargs['url_for'] = custom_url_for # override url_for function in templates kwargs['image_proxify'] = image_proxify - kwargs['proxify'] = proxify if settings.get('result_proxy', {}).get('url') else None - kwargs['proxify_results'] = settings.get('result_proxy', {}).get('proxify_results', True) + kwargs['proxify'] = morty_proxify if settings['result_proxy']['url'] is not None else None + kwargs['proxify_results'] = settings['result_proxy']['proxify_results'] + kwargs['cache_url'] = settings['ui']['cache_url'] kwargs['get_result_template'] = get_result_template kwargs['opensearch_url'] = ( url_for('opensearch') @@ -1282,19 +1284,17 @@ Disallow: /*?*q=* @app.route('/opensearch.xml', methods=['GET']) def opensearch(): - method = 'post' - - if request.preferences.get_value('method') == 'GET': - method = 'get' + method = request.preferences.get_value('method') + autocomplete = request.preferences.get_value('autocomplete') # chrome/chromium only supports HTTP GET.... if request.headers.get('User-Agent', '').lower().find('webkit') >= 0: - method = 'get' + method = 'GET' - autocomplete = request.preferences.get_value('autocomplete') + if method not in ('POST', 'GET'): + method = 'POST' ret = render('opensearch.xml', opensearch_method=method, autocomplete=autocomplete) - resp = Response(response=ret, status=200, mimetype="application/opensearchdescription+xml") return resp |