diff options
author | Bnyro <bnyro@tutanota.com> | 2023-09-28 14:27:34 +0200 |
---|---|---|
committer | Markus Heiser <markus.heiser@darmarIT.de> | 2023-09-30 09:09:23 +0200 |
commit | 2ca60a19fc4ed8f74237e4befde9c6bc31a66941 (patch) | |
tree | 7ef2189994353155894552f3f1d56224bbc5f633 /searx | |
parent | d1a3fc5be69f64a89676016844e682fd8bad11a0 (diff) | |
download | searxng-2ca60a19fc4ed8f74237e4befde9c6bc31a66941.tar.gz searxng-2ca60a19fc4ed8f74237e4befde9c6bc31a66941.zip |
[feat] engine: implementation of matrixrooms.info
Diffstat (limited to 'searx')
-rw-r--r-- | searx/engines/matrixrooms.py | 45 | ||||
-rw-r--r-- | searx/settings.yml | 5 |
2 files changed, 50 insertions, 0 deletions
diff --git a/searx/engines/matrixrooms.py b/searx/engines/matrixrooms.py new file mode 100644 index 000000000..d10398204 --- /dev/null +++ b/searx/engines/matrixrooms.py @@ -0,0 +1,45 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +# lint: pylint +"""Matrixrooms.info (social media) +""" + +from urllib.parse import quote_plus + +about = { + "website": 'https://matrixrooms.info', + "wikidata_id": 'Q107565255', + "official_api_documentation": None, + "use_official_api": False, + "require_api_key": False, + "results": 'JSON', +} +paging = True +categories = ['social media'] + +base_url = "https://apicdn.matrixrooms.info" +matrix_url = "https://matrix.to" +page_size = 20 + + +def request(query, params): + params['url'] = f"{base_url}/search/{quote_plus(query)}/{page_size}/{params['pageno']-1}" + return params + + +def response(resp): + results = [] + + for result in resp.json(): + results.append( + { + 'url': matrix_url + '/#/' + result['alias'], + 'title': result['name'], + 'content': result['topic'] + + f" // {result['members']} members" + + f" // {result['alias']}" + + f" // {result['server']}", + 'thumbnail': result['avatar_url'], + } + ) + + return results diff --git a/searx/settings.yml b/searx/settings.yml index 551e6b96e..ea7a3073d 100644 --- a/searx/settings.yml +++ b/searx/settings.yml @@ -1016,6 +1016,11 @@ engines: require_api_key: false results: HTML + - name: matrixrooms + engine: matrixrooms + shortcut: mtrx + disabled: true + - name: metacpan engine: metacpan shortcut: cpan |