[mod] science category: various update of about PR 1705

This commit is contained in:
Alexandre Flament 2022-09-23 19:58:14 +02:00
parent 08b8859705
commit d6446be38f
8 changed files with 20 additions and 19 deletions

View file

@ -369,13 +369,9 @@ the parameter ``template`` must be set to the desired type.
- :py:class:`str`
- volume number
* - start_page
- :py:class:`int`
- page number where the article starts
* - end_page
- :py:class:`int`
- page number where the article ends
* - pages
- :py:class:`str`
- page range where the article is
* - number
- :py:class:`str`

View file

@ -33,10 +33,10 @@ def response(resp):
if record_type == 'book-chapter':
title = record['container-title'][0]
if record['title'][0].lower().strip() != title.lower().strip():
title = title + ' (' + record['title'][0] + ')'
title = html_to_text(title) + ' (' + html_to_text(record['title'][0]) + ')'
journal = None
else:
title = record['title'][0]
title = html_to_text(record['title'][0])
journal = record.get('container-title', [None])[0]
url = record.get('resource', {}).get('primary', {}).get('URL') or record['URL']
authors = [author.get('given', '') + ' ' + author.get('family', '') for author in record.get('author', [])]

View file

@ -48,7 +48,6 @@ def request(query, params):
def response(resp):
res = loads(resp.text)
results = []
for result in res['results']:
url = result.get('primaryPaperLink', {}).get('url')
if not url and result.get('links'):
@ -72,7 +71,7 @@ def response(resp):
# pick for the first alternate link, but not from the crawler
pdf_url = None
for doc in result.get('alternatePaperLinks', []):
if doc['linkType'] != 'crawler':
if doc['linkType'] not in ('crawler', 'doi'):
pdf_url = doc['url']
break

View file

@ -58,8 +58,7 @@ def response(resp):
'authors': authors,
'doi': record.get('doi'),
'journal': record.get('publicationName'),
'start_page': record.get('start_page'),
'end_page': record.get('end_page'),
'pages': record.get('start_page') + '-' + record.get('end_page'),
'tags': tags,
'issn': [record.get('issn')],
'isbn': [record.get('isbn')],

View file

@ -412,7 +412,8 @@ engines:
- name: crossref
engine: crossref
shortcut: cr
timeout: 10
timeout: 30
disable: true
- name: yep
engine: json_engine

View file

@ -13,8 +13,8 @@
.{{- result.number -}}
{%- endif -%}
{%- endif -%}
{%- if result.start_page -%}
 {{- result.start_page -}} / {{- result.end_page -}}
{%- if result.pages -%}
 {{- result.pages -}}
{%- endif -%}
</span>
</div>

View file

@ -77,7 +77,7 @@ from searx.webutils import (
is_hmac_of,
is_flask_run_cmdline,
group_engines_in_tab,
searxng_format_date,
searxng_l10n_timespan,
)
from searx.webadapter import (
get_search_query_from_webapp,
@ -723,7 +723,7 @@ def search():
except ValueError:
result['publishedDate'] = None
else:
result['publishedDate'] = searxng_format_date(result['publishedDate'])
result['publishedDate'] = searxng_l10n_timespan(result['publishedDate'])
# set result['open_group'] = True when the template changes from the previous result
# set result['close_group'] = True when the template changes on the next result

View file

@ -141,7 +141,13 @@ def highlight_content(content, query):
return content
def searxng_format_date(dt: datetime): # pylint: disable=invalid-name
def searxng_l10n_timespan(dt: datetime) -> str: # pylint: disable=invalid-name
"""Returns a human-readable and translated string indicating how long ago
a date was in the past / the time span of the date to the present.
On January 1st, midnight, the returned string only indicates how many years
ago the date was.
"""
# TODO, check if timezone is calculated right # pylint: disable=fixme
d = dt.date()
t = dt.time()