summaryrefslogtreecommitdiff
path: root/searx/engines/brave.py
diff options
context:
space:
mode:
authorBnyro <bnyro@tutanota.com>2023-08-05 20:35:04 +0200
committerMarkus Heiser <markus.heiser@darmarIT.de>2023-08-08 16:21:45 +0200
commitd151497db3ad33efda95b2fc7c1dd0ecf64304b6 (patch)
tree4dcede4462ad3c7c53b960684f2d0a5209b1d519 /searx/engines/brave.py
parentcae06f278136cdd10073b431a48969238a7ccbdb (diff)
downloadsearxng-d151497db3ad33efda95b2fc7c1dd0ecf64304b6.tar.gz
searxng-d151497db3ad33efda95b2fc7c1dd0ecf64304b6.zip
[feat] engine: brave - support for news
Diffstat (limited to 'searx/engines/brave.py')
-rw-r--r--searx/engines/brave.py28
1 files changed, 13 insertions, 15 deletions
diff --git a/searx/engines/brave.py b/searx/engines/brave.py
index 61601faf5..deb109b8e 100644
--- a/searx/engines/brave.py
+++ b/searx/engines/brave.py
@@ -5,7 +5,6 @@
from urllib.parse import urlencode
import chompjs
-import json
about = {
"website": 'https://search.brave.com/',
@@ -58,12 +57,12 @@ def response(resp):
break
json_data = chompjs.parse_js_object(datastr)
- json_results = json_data[1]["data"]["body"]["response"]["results"]
- with open("outfile.json", "w") as f:
- json.dump(json_data, f)
+ json_resp = json_data[1]['data']['body']['response']
+ if categories[0] == 'news':
+ json_resp = json_resp['news']
- for result in json_results:
+ for result in json_resp["results"]:
item = {
'url': result['url'],
'title': result['title'],
@@ -72,16 +71,15 @@ def response(resp):
if result['thumbnail'] != "null":
item['thumbnail'] = result['thumbnail']['src']
- match categories[0]:
- case 'images':
- item['template'] = 'images.html'
- item['img_format'] = result['properties']['format']
- item['source'] = result['source']
- item['img_src'] = result['properties']['url']
- case 'videos':
- item['template'] = 'videos.html'
- item['length'] = result['video']['duration']
-
+ if categories[0] == 'images':
+ item['template'] = 'images.html'
+ item['img_format'] = result['properties']['format']
+ item['source'] = result['source']
+ item['img_src'] = result['properties']['url']
+ elif categories[0] == 'videos':
+ item['template'] = 'videos.html'
+ item['length'] = result['video']['duration']
+
results.append(item)
return results