diff options
| -rw-r--r-- | docs/dev/engine_overview.rst | 4 | ||||
| -rw-r--r-- | searx/engines/core.py | 5 | ||||
| -rw-r--r-- | searx/engines/springer.py | 21 |
3 files changed, 17 insertions, 13 deletions
diff --git a/docs/dev/engine_overview.rst b/docs/dev/engine_overview.rst index dc10b6ead..95ed267e2 100644 --- a/docs/dev/engine_overview.rst +++ b/docs/dev/engine_overview.rst @@ -386,11 +386,11 @@ the parameter ``template`` must be set to the desired type. - DOI number (like ``10.1038/d41586-018-07848-2``) * - issn - - :py:class:`str` + - :py:class:`List <list>`\ [\ :py:class:`str`\ ] - ISSN number like ``1476-4687`` * - isbn - - :py:class:`str` + - :py:class:`List <list>`\ [\ :py:class:`str`\ ] - ISBN number like ``9780201896831`` * - pdf_url diff --git a/searx/engines/core.py b/searx/engines/core.py index 2a71a216c..2fa66e226 100644 --- a/searx/engines/core.py +++ b/searx/engines/core.py @@ -77,6 +77,7 @@ def response(resp): if url is None: continue + publishedDate = None time = source['publishedDate'] or source['depositedDate'] if time: publishedDate = datetime.fromtimestamp(time / 1000) @@ -106,8 +107,8 @@ def response(resp): # 'pages' : '', # 'number': '', 'doi': source['doi'], - 'issn': source['issn'], - 'isbn': source.get('isbn'), # exists in the rawRecordXml + 'issn': [x for x in [source.get('issn')] if x], + 'isbn': [x for x in [source.get('isbn')] if x], # exists in the rawRecordXml 'pdf_url': source.get('repositoryDocument', {}).get('pdfOrigin'), } ) diff --git a/searx/engines/springer.py b/searx/engines/springer.py index e5255b794..a4d0832d8 100644 --- a/searx/engines/springer.py +++ b/searx/engines/springer.py @@ -41,7 +41,6 @@ def response(resp): json_data = loads(resp.text) for record in json_data['records']: - content = record['abstract'] published = datetime.strptime(record['publicationDate'], '%Y-%m-%d') authors = [" ".join(author['creator'].split(', ')[::-1]) for author in record['creators']] tags = record.get('genre') @@ -50,20 +49,24 @@ def response(resp): results.append( { 'template': 'paper.html', - 'title': record['title'], 'url': record['url'][0]['value'].replace('http://', 'https://', 1), - 'type': record.get('contentType'), - 'content': content, + 'title': record['title'], + 'content': record['abstract'], + 'comments': record['publicationName'], + 'tags': tags, 'publishedDate': published, + 'type': record.get('contentType'), 'authors': authors, - 'doi': record.get('doi'), + # 'editor': '', + 'publisher': record.get('publisher'), 'journal': record.get('publicationName'), - 'pages': record.get('start_page') + '-' + record.get('end_page'), - 'tags': tags, - 'issn': [record.get('issn')], - 'isbn': [record.get('isbn')], 'volume': record.get('volume') or None, + 'pages': '-'.join([x for x in [record.get('startingPage'), record.get('endingPage')] if x]), 'number': record.get('number') or None, + 'doi': record.get('doi'), + 'issn': [x for x in [record.get('issn')] if x], + 'isbn': [x for x in [record.get('isbn')] if x], + # 'pdf_url' : '' } ) return results |