Merge pull request #1707 from dalf/fix-external-bang

External bang: bug fix: URL encode the query so "!!g 1+1" works as intended
This commit is contained in:
Markus Heiser 2022-08-28 09:07:24 +02:00 committed by GitHub
commit 3be847149e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 2 additions and 1 deletions

View File

@ -1,5 +1,6 @@
# SPDX-License-Identifier: AGPL-3.0-or-later # SPDX-License-Identifier: AGPL-3.0-or-later
from urllib.parse import quote_plus
from searx.data import EXTERNAL_BANGS from searx.data import EXTERNAL_BANGS
LEAF_KEY = chr(16) LEAF_KEY = chr(16)
@ -39,7 +40,7 @@ def get_bang_definition_and_ac(external_bangs_db, bang):
def resolve_bang_definition(bang_definition, query): def resolve_bang_definition(bang_definition, query):
url, rank = bang_definition.split(chr(1)) url, rank = bang_definition.split(chr(1))
url = url.replace(chr(2), query) url = url.replace(chr(2), quote_plus(query))
if url.startswith('//'): if url.startswith('//'):
url = 'https:' + url url = 'https:' + url
rank = int(rank) if len(rank) > 0 else 0 rank = int(rank) if len(rank) > 0 else 0