From 21a4622f23a2f1138125dd1dc8b5483874b4ae0f Mon Sep 17 00:00:00 2001 From: Markus Heiser Date: Thu, 20 Nov 2025 18:32:27 +0100 Subject: [PATCH] [fix] utils.js_variable_to_python - partial revert of 156d1eb8c (#5458) The JS string, whose encoding will be corrupted if all single quotes (followed by a comma) are replaced with double quotes. Bug was introduced in PR #4573. Here is a simple example in which the list get corrupted:: >>> s = r"""[ 'foo\'', 'bar']""" >>> print(s) [ 'foo\'', 'bar'] >>> print(s.replace("',", "\",")) [ 'foo\'", 'bar'] Signed-off-by: Markus Heiser --- searx/utils.py | 5 ----- 1 file changed, 5 deletions(-) diff --git a/searx/utils.py b/searx/utils.py index 079a99ae2..7e2f4d78f 100644 --- a/searx/utils.py +++ b/searx/utils.py @@ -807,11 +807,6 @@ def js_variable_to_python(js_variable: str) -> str: s = _JS_DECIMAL_RE.sub(":0.", s) # replace the surogate character by colon s = s.replace(chr(1), ':') - # replace single-quote followed by comma with double-quote and comma - # {"a": "\"12\"',"b": "13"} - # becomes - # {"a": "\"12\"","b": "13"} - s = s.replace("',", "\",") # load the JSON and return the result return json.loads(s) # pyright: ignore[reportAny]