diff options
| author | Markus Heiser <markus.heiser@darmarIT.de> | 2025-11-20 18:32:27 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-11-20 18:32:27 +0100 |
| commit | 21a4622f23a2f1138125dd1dc8b5483874b4ae0f (patch) | |
| tree | 0d72d54dba8a7be596182d2c55b4856cd8141287 /searx/utils.py | |
| parent | 041f457dfa92e3dbb33e9cdb7de2ce9024869b7d (diff) | |
[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 <markus.heiser@darmarit.de>
Diffstat (limited to 'searx/utils.py')
| -rw-r--r-- | searx/utils.py | 5 |
1 files changed, 0 insertions, 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] |