summaryrefslogtreecommitdiff
path: root/searx/webapp.py
diff options
context:
space:
mode:
Diffstat (limited to 'searx/webapp.py')
-rwxr-xr-xsearx/webapp.py30
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