From e36f85b8365e5d6a9263dd78242a10a305a9000c Mon Sep 17 00:00:00 2001 From: Alexandre FLAMENT Date: Fri, 26 Aug 2022 16:10:12 +0000 Subject: Science category: update the engines * use the paper.html template * fetch more data from the engines * add crossref.py --- searx/engines/springer.py | 38 ++++++++++++++++++-------------------- 1 file changed, 18 insertions(+), 20 deletions(-) (limited to 'searx/engines/springer.py') diff --git a/searx/engines/springer.py b/searx/engines/springer.py index 512d71e5e..2711fa807 100644 --- a/searx/engines/springer.py +++ b/searx/engines/springer.py @@ -19,7 +19,7 @@ about = { "results": 'JSON', } -categories = ['science'] +categories = ['science', 'scientific publications'] paging = True nb_per_page = 10 api_key = 'unset' @@ -41,32 +41,30 @@ def response(resp): json_data = loads(resp.text) for record in json_data['records']: - content = record['abstract'][0:500] - if len(record['abstract']) > len(content): - content += "..." + content = record['abstract'] published = datetime.strptime(record['publicationDate'], '%Y-%m-%d') - - metadata = [ - record[x] - for x in [ - 'publicationName', - 'identifier', - 'contentType', - ] - if record.get(x) is not None - ] - - metadata = ' / '.join(metadata) - if record.get('startingPage') and record.get('endingPage') is not None: - metadata += " (%(startingPage)s-%(endingPage)s)" % record - + authors = [" ".join(author['creator'].split(', ')[::-1]) for author in record['creators']] + tags = record.get('genre') + if isinstance(tags, str): + tags = [tags] results.append( { + 'template': 'paper.html', 'title': record['title'], 'url': record['url'][0]['value'].replace('http://', 'https://', 1), + 'type': record.get('contentType'), 'content': content, 'publishedDate': published, - 'metadata': metadata, + 'authors': authors, + 'doi': record.get('doi'), + 'journal': record.get('publicationName'), + 'start_page': record.get('start_page'), + 'end_page': record.get('end_page'), + 'tags': tags, + 'issn': [record.get('issn')], + 'isbn': [record.get('isbn')], + 'volume': record.get('volume') or None, + 'number': record.get('number') or None, } ) return results -- cgit v1.2.3 From d6446be38f3f858c09887a89c8fc490a3c300b95 Mon Sep 17 00:00:00 2001 From: Alexandre Flament Date: Fri, 23 Sep 2022 19:58:14 +0200 Subject: [mod] science category: various update of about PR 1705 --- searx/engines/springer.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'searx/engines/springer.py') diff --git a/searx/engines/springer.py b/searx/engines/springer.py index 2711fa807..e5255b794 100644 --- a/searx/engines/springer.py +++ b/searx/engines/springer.py @@ -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')], -- cgit v1.2.3