1
0
mirror of https://github.com/searxng/searxng.git synced 2024-11-22 12:10:11 +01:00

Merge pull request #2397 from dalf/update-ci

updates for Python 3.9 / update CI
This commit is contained in:
Alexandre Flament 2020-12-20 09:51:24 +01:00 committed by GitHub
commit 59217bb5be
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 21 additions and 15 deletions

View File

@ -22,7 +22,14 @@ jobs:
with:
python-version: ${{ matrix.python-version }}
architecture: 'x64'
- name: Cache Python dependencies
id: cache-python
uses: actions/cache@v2
with:
path: ./local
key: python-${{ matrix.os }}-${{ matrix.python-version }}-${{ hashFiles('requirements*.txt', 'setup.py') }}
- name: Install Python dependencies
if: steps.cache-python.outputs.cache-hit != 'true'
run: |
make V=1 install
make V=1 gecko.driver

View File

@ -46,8 +46,8 @@ def _match_query(query):
try:
key, value = query.split(':')
except:
raise ValueError('query format must be "key:value"')
except Exception as e:
raise ValueError('query format must be "key:value"') from e
return {"query": {"match": {key: {'query': value}}}}
@ -71,8 +71,8 @@ def _term_query(query):
try:
key, value = query.split(':')
except:
raise ValueError('query format must be key:value')
except Exception as e:
raise ValueError('query format must be key:value') from e
return {'query': {'term': {key: value}}}
@ -86,8 +86,8 @@ def _terms_query(query):
try:
key, values = query.split(':')
except:
raise ValueError('query format must be key:value1,value2')
except Exception as e:
raise ValueError('query format must be key:value1,value2') from e
return {'query': {'terms': {key: values.split(',')}}}

View File

@ -12,10 +12,10 @@
# @todo embedded (needs some md5 from video page)
from json import loads
from html import unescape
from urllib.parse import urlencode
from lxml import html
from dateutil import parser
from html.parser import HTMLParser
from searx.utils import extract_text
@ -55,13 +55,12 @@ def response(resp):
if "content" not in response:
return []
dom = html.fromstring(response["content"])
p = HTMLParser()
# parse results
for result in dom.xpath(results_xpath):
videoid = result.xpath(url_xpath)[0]
url = base_url + videoid
title = p.unescape(extract_text(result.xpath(title_xpath)))
title = unescape(extract_text(result.xpath(title_xpath)))
try:
thumbnail = extract_text(result.xpath(thumbnail_xpath)[0])
except:

View File

@ -24,9 +24,9 @@ def load_yaml(file_name):
with open(file_name, 'r', encoding='utf-8') as settings_yaml:
return yaml.safe_load(settings_yaml)
except IOError as e:
raise SearxSettingsException(e, file_name)
raise SearxSettingsException(e, file_name) from e
except yaml.YAMLError as e:
raise SearxSettingsException(e, file_name)
raise SearxSettingsException(e, file_name) from e
def get_default_settings_path():

View File

@ -522,7 +522,7 @@ def get_xpath(xpath_spec):
try:
result = XPath(xpath_spec)
except XPathSyntaxError as e:
raise SearxXPathSyntaxException(xpath_spec, str(e.msg))
raise SearxXPathSyntaxException(xpath_spec, str(e.msg)) from e
xpath_cache[xpath_spec] = result
return result
@ -553,7 +553,7 @@ def eval_xpath(element, xpath_spec):
return xpath(element)
except XPathError as e:
arg = ' '.join([str(i) for i in e.args])
raise SearxEngineXPathException(xpath_spec, arg)
raise SearxEngineXPathException(xpath_spec, arg) from e
def eval_xpath_list(element, xpath_spec, min_len=None):

View File

@ -105,8 +105,8 @@ def parse_timeout(form: Dict[str, str], raw_text_query: RawTextQuery) -> Optiona
return None
try:
return float(timeout_limit)
except ValueError:
raise SearxParameterException('timeout_limit', timeout_limit)
except ValueError as e:
raise SearxParameterException('timeout_limit', timeout_limit) from e
def parse_category_form(query_categories: List[str], name: str, value: str) -> None: