Browse Source

Merge pull request #93 from return42/genius-misc

Some minor Genius improvements
Markus Heiser 3 years ago
parent
commit
32b5a0ef7b
1 changed files with 35 additions and 25 deletions
  1. 35 25
      searx/engines/genius.py

+ 35 - 25
searx/engines/genius.py

@@ -1,12 +1,17 @@
 # SPDX-License-Identifier: AGPL-3.0-or-later
-"""
- Genius
+# lint: pylint
+# pylint: disable=invalid-name, missing-function-docstring
+"""Genius
+
 """
 
 from json import loads
 from urllib.parse import urlencode
 from datetime import datetime
 
+from searx import logger
+logger = logger.getChild('genius engine')
+
 # about
 about = {
     "website": 'https://genius.com/',
@@ -27,49 +32,54 @@ search_url = url + 'search/{index}?{query}&page={pageno}&per_page={page_size}'
 
 
 def request(query, params):
-    params['url'] = search_url.format(query=urlencode({'q': query}),
-                                      index='multi',
-                                      page_size=page_size,
-                                      pageno=params['pageno'])
+    params['url'] = search_url.format(
+        query=urlencode({'q': query}),
+        index='multi',
+        page_size=page_size,
+        pageno=params['pageno'],
+    )
     return params
 
 
 def parse_lyric(hit):
     try:
         content = hit['highlights'][0]['value']
-    except:
+    except Exception as e:  # pylint: disable=broad-except
+        logger.error(e, exc_info=True)
         content = ''
     timestamp = hit['result']['lyrics_updated_at']
-    result = {'url': hit['result']['url'],
-              'title': hit['result']['full_title'],
-              'content': content,
-              'thumbnail': hit['result']['song_art_image_thumbnail_url'],
-              'template': 'videos.html'}
+    result = {
+        'url': hit['result']['url'],
+        'title': hit['result']['full_title'],
+        'content': content,
+        'thumbnail': hit['result']['song_art_image_thumbnail_url'],
+    }
     if timestamp:
         result.update({'publishedDate': datetime.fromtimestamp(timestamp)})
     return result
 
 
 def parse_artist(hit):
-    result = {'url': hit['result']['url'],
-              'title': hit['result']['name'],
-              'content': '',
-              'thumbnail': hit['result']['image_url'],
-              'template': 'videos.html'}
+    result = {
+        'url': hit['result']['url'],
+        'title': hit['result']['name'],
+        'content': '',
+        'thumbnail': hit['result']['image_url'],
+    }
     return result
 
 
 def parse_album(hit):
-    result = {'url': hit['result']['url'],
-              'title': hit['result']['full_title'],
-              'thumbnail': hit['result']['cover_art_url'],
-              'content': '',
-              # 'thumbnail': hit['result']['cover_art_thumbnail_url'],
-              'template': 'videos.html'}
+    result = {
+        'url': hit['result']['url'],
+        'title': hit['result']['full_title'],
+        'thumbnail': hit['result']['cover_art_url'],
+        'content': '',
+    }
     try:
         year = hit['result']['release_date_components']['year']
-    except:
-        pass
+    except Exception as e:  # pylint: disable=broad-except
+        logger.error(e, exc_info=True)
     else:
         if year:
             result.update({'content': 'Released: {}'.format(year)})