diff options
author | Spühler Stefan <git@tuxli.ch> | 2020-03-02 18:55:48 +0100 |
---|---|---|
committer | Spühler Stefan <git@tuxli.ch> | 2020-03-09 09:31:20 +0100 |
commit | 4f90fb6a9236a9699e80c249153ba372bf308cb8 (patch) | |
tree | 28ed274a495d8058b87d24045c6a745ef6aeeeab /searx/engines | |
parent | 6a3ef5561ba48e287f0b9c03a0b6d2f13b703077 (diff) | |
download | searxng-4f90fb6a9236a9699e80c249153ba372bf308cb8.tar.gz searxng-4f90fb6a9236a9699e80c249153ba372bf308cb8.zip |
[Fix] Startpage ValueError on Spanish date format
datetime.parser.parse() does not know the Spanish date format which
leads to a ValueError. Fixes #1870
Traceback (most recent call last):
File "/usr/local/searx/searx/search.py", line 160, in search_one_http_request_safe
search_results = search_one_http_request(engine, query, request_params)
File "/usr/local/searx/searx/search.py", line 97, in search_one_http_request
return engine.response(response)
File "/usr/local/searx/searx/engines/startpage.py", line 102, in response
published_date = parser.parse(date_string, dayfirst=True)
File "/usr/local/searx/searx-ve/lib/python3.6/site-packages/dateutil/parser/_parser.py", line 1358, in parse
return DEFAULTPARSER.parse(timestr, **kwargs)
File "/usr/local/searx/searx-ve/lib/python3.6/site-packages/dateutil/parser/_parser.py", line 649, in parse
raise ValueError("Unknown string format:", timestr)
ValueError: ('Unknown string format:', '24 Ene 2013')
Diffstat (limited to 'searx/engines')
-rw-r--r-- | searx/engines/startpage.py | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/searx/engines/startpage.py b/searx/engines/startpage.py index 76567396f..953734934 100644 --- a/searx/engines/startpage.py +++ b/searx/engines/startpage.py @@ -99,11 +99,14 @@ def response(resp): if re.match(r"^([1-9]|[1-2][0-9]|3[0-1]) [A-Z][a-z]{2} [0-9]{4} \.\.\. ", content): date_pos = content.find('...') + 4 date_string = content[0:date_pos - 5] - published_date = parser.parse(date_string, dayfirst=True) - # fix content string content = content[date_pos:] + try: + published_date = parser.parse(date_string, dayfirst=True) + except ValueError: + pass + # check if search result starts with something like: "5 days ago ... " elif re.match(r"^[0-9]+ days? ago \.\.\. ", content): date_pos = content.find('...') + 4 |