summaryrefslogtreecommitdiff
path: root/searx
diff options
context:
space:
mode:
Diffstat (limited to 'searx')
-rw-r--r--searx/engines/peertube.py2
-rw-r--r--searx/engines/qwant.py23
-rw-r--r--searx/engines/seznam.py4
-rw-r--r--searx/settings.yml37
-rw-r--r--searx/settings_defaults.py2
5 files changed, 43 insertions, 25 deletions
diff --git a/searx/engines/peertube.py b/searx/engines/peertube.py
index 86cd04f2d..058065c03 100644
--- a/searx/engines/peertube.py
+++ b/searx/engines/peertube.py
@@ -97,6 +97,6 @@ def _fetch_supported_languages(resp):
import re
# https://docs.python.org/3/howto/regex.html#greedy-versus-non-greedy
- videolanguages = re.search(r"videoLanguages \(\) \{(.*?)\]", resp.text, re.DOTALL)
+ videolanguages = re.search(r"videoLanguages \(\)[^\n]+(.*?)\]", resp.text, re.DOTALL)
peertube_languages = [m.group(1) for m in re.finditer(r"\{ id: '([a-z]+)', label:", videolanguages.group(1))]
return peertube_languages
diff --git a/searx/engines/qwant.py b/searx/engines/qwant.py
index 97e461177..8d03d8324 100644
--- a/searx/engines/qwant.py
+++ b/searx/engines/qwant.py
@@ -84,14 +84,16 @@ def request(query, params):
)
# add language tag
- if params['language'] != 'all':
+ if params['language'] == 'all':
+ params['url'] += '&locale=en_us'
+ else:
language = match_language(
params['language'],
# pylint: disable=undefined-variable
supported_languages,
language_aliases,
)
- params['url'] += '&locale=' + language.replace('-', '_')
+ params['url'] += '&locale=' + language.replace('-', '_').lower()
params['raise_for_httperror'] = False
return params
@@ -144,8 +146,8 @@ def response(resp):
mainline_items = row.get('items', [])
for item in mainline_items:
- title = item['title']
- res_url = item['url']
+ title = item.get('title', None)
+ res_url = item.get('url', None)
if mainline_type == 'web':
content = item['desc']
@@ -156,7 +158,10 @@ def response(resp):
})
elif mainline_type == 'news':
- pub_date = datetime.fromtimestamp(item['date'], None)
+
+ pub_date = item['date']
+ if pub_date is not None:
+ pub_date = datetime.fromtimestamp(pub_date)
news_media = item.get('media', [])
img_src = None
if news_media:
@@ -192,8 +197,12 @@ def response(resp):
if c:
content_parts.append("%s: %s " % (gettext("Channel"), c))
content = ' // '.join(content_parts)
- length = timedelta(seconds=item['duration'])
- pub_date = datetime.fromtimestamp(item['date'])
+ length = item['duration']
+ if length is not None:
+ length = timedelta(milliseconds=length)
+ pub_date = item['date']
+ if pub_date is not None:
+ pub_date = datetime.fromtimestamp(pub_date)
thumbnail = item['thumbnail']
# from some locations (DE and others?) the s2 link do
# response a 'Please wait ..' but does not deliver the thumbnail
diff --git a/searx/engines/seznam.py b/searx/engines/seznam.py
index 042088dbe..9cd50dfc0 100644
--- a/searx/engines/seznam.py
+++ b/searx/engines/seznam.py
@@ -53,14 +53,14 @@ def response(resp):
dom = html.fromstring(resp.content.decode())
for result_element in eval_xpath_list(dom, '//div[@data-dot="results"]/div'):
- result_data = eval_xpath_getindex(result_element, './/div[contains(@class, "Result")]', 0, default=None)
+ result_data = eval_xpath_getindex(result_element, './/div[contains(@class, "bec586")]', 0, default=None)
if result_data is None:
continue
title_element = eval_xpath_getindex(result_element, './/h3/a', 0)
results.append({
'url': title_element.get('href'),
'title': extract_text(title_element),
- 'content': extract_text(eval_xpath(result_data, './/p[@class="Result-description"]')),
+ 'content': extract_text(eval_xpath(result_data, './/div[@class="_3eded7"]')),
})
return results
diff --git a/searx/settings.yml b/searx/settings.yml
index 0306f00bd..14610464f 100644
--- a/searx/settings.yml
+++ b/searx/settings.yml
@@ -4,13 +4,16 @@ general:
contact_url: false # mailto:contact@example.com
brand:
- git_url: https://github.com/searxng/searxng
- git_branch: master
- issue_url: https://github.com/searxng/searxng/issues
new_issue_url: https://github.com/searxng/searxng/issues/new
docs_url: https://searxng.github.io/searxng
public_instances: https://searx.space
wiki_url: https://github.com/searxng/searxng/wiki
+ issue_url: https://github.com/searxng/searxng/issues
+
+ # If you change a value below don't forget to rebuild instance's enviroment
+ # (make buildenv)
+ git_url: https://github.com/searxng/searxng
+ git_branch: master
search:
# Filter results. 0: None, 1: Moderate, 2: Strict
@@ -32,13 +35,16 @@ search:
- html
server:
+ # If you change port, bind_address or base_url don't forget to rebuild
+ # instance's enviroment (make buildenv)
port: 8888
- # address to listen on
bind_address: "127.0.0.1"
+ base_url: false # Possible values: false or "https://example.org/location".
+
+ # If your instance owns a /etc/searx/settings.yml file, then set the following
+ # values there.
+
secret_key: "ultrasecretkey" # change this!
- # Set custom base_url. Possible values:
- # false or "https://your.custom.host/location/"
- base_url: false
# Proxying image results through searx
image_proxy: false
# 1.0 and 1.1 are supported
@@ -821,6 +827,7 @@ engines:
# exact_match_only: false
# host: '127.0.0.1'
# port: 27017
+ # enable_http: true
# results_per_page: 20
# database: 'business'
# collection: 'reviews' # name of the db collection
@@ -1049,13 +1056,15 @@ engines:
disabled: true
# Required dependency: redis
- # - name: myredis
- # engine: redis_server
- # exact_match_only: False
- # host: '127.0.0.1'
- # port: 6379
- # password: ''
- # db: 0
+ # - name: myredis
+ # shortcut : rds
+ # engine: redis_server
+ # exact_match_only: false
+ # host: '127.0.0.1'
+ # port: 6379
+ # enable_http: true
+ # password: ''
+ # db: 0
# tmp suspended: bad certificate
# - name: scanr structures
diff --git a/searx/settings_defaults.py b/searx/settings_defaults.py
index 0fa1f973d..72d7dc588 100644
--- a/searx/settings_defaults.py
+++ b/searx/settings_defaults.py
@@ -147,7 +147,7 @@ SCHEMA = {
'formats': SettingsValue(list, OUTPUT_FORMATS),
},
'server': {
- 'port': SettingsValue(int, 8888),
+ 'port': SettingsValue((int,str), 8888, 'SEARX_PORT'),
'bind_address': SettingsValue(str, '127.0.0.1', 'SEARX_BIND_ADDRESS'),
'secret_key': SettingsValue(str, environ_name='SEARX_SECRET'),
'base_url': SettingsValue((False, str), False),